我想通过打字稿使用全局mixin。我的mixin看起来像这样:
Vue.mixin({
data() {
return {
myValue: false
};
},
methods: {
toggle() {
this.myValue= !this.myValue;
}
}
});
这给了我以下错误:TS2339: Property 'myValue' does not exist on type 'Vue'.
如果我在组件Vue.extend({... same code... })
中使用相同的代码,则一切正常。
答案 0 :(得分:0)
您可以像这样指定自定义类型:
// src/vue-shim.d.ts
import Vue from 'vue'
declare module 'vue/types/vue' {
interface Vue {
myValue: boolean;
}
}
查看文档了解更多详情https://vuejs.org/v2/guide/typescript.html#Augmenting-Types-for-Use-with-Plugins