未捕获(在承诺中)传递的组件-未定义无效,肯都伊

suzh9iv8  于 2022-10-02  发布在  Java
关注(0)|答案(1)|浏览(115)

在此示例中,https://www.telerik.com/kendo-vue-ui/components/grid/有一个Computed方法

gridSearchMessage() {
      return provideLocalizationService(this).toLanguageString(
        "gridSearch",
        "Search in all columns..."
      );
}

这是OptionsAPI。所以我想将其转换为CompostionAPI

const gridSearchMessage : ComputedRef<string> = computed<string>(() => {
      return provideLocalizationService(this).toLanguageString(
        "gridSearch",
        "Search in all columns..."
      )
    })

但后来我得到了上面的错误。你能解释为什么会发生这种情况吗?只需将此方法更改为

const gridSearchMessage : ComputedRef<string> = computed<string>(() => {
      return "Search in all columns..."
    })

所有工作均按预期进行

w3nuxt5m

w3nuxt5m1#

引用组件示例的this仅在Options API中可用。

对于组合API,需要从vue模块获取getCurrentInstance函数。

import { getCurrentInstance } from 'vue'
const instance = getCurrentInstance()
const gridSearchMessage : ComputedRef<string> = computed<string>(() => {
      return provideLocalizationService(instance).toLanguageString(
        "gridSearch",
        "Search in all columns..."
      )
    })

相关问题