vue3.0全局挂载的方法ts报错,找不到名称

新手上路,请多包涵

app.config.globalProperties.$filters全局挂载过滤器方法,模板中使用ts报错找不到名称(找不到名称“$filters”),按照网上的定义全局声明方法没有解决。

shims-vue.d.ts中添加如下声明无效,main.ts中添加报错

declare module 'vue/types/vue' {
  interface Vue {
    $filters: string;
  }
}

扩大中的模块名无效,找不到模块“vue/types/vue”。
ts初学者,求教。

阅读 10.8k
1 个回答
✓ 已被采纳新手上路,请多包涵

已解决,在main.ts中添加类型补充说明

// 对vue进行类型补充说明
declare module '@vue/runtime-core' {
  interface ComponentCustomProperties {
    $filters: any
  }
}

const app = createApp(App)
app.config.globalProperties.$filters = filters
app.use(store).use(router).mount('#app')
推荐问题