使用Vue和Typescript扩展多个mixin

时间:2018-07-20 11:18:32

标签: typescript vue.js

我有一个简单的例子

const mixin1 = Vue.extend({
  computed: {
    mixin1_prop():number {
      return 10;
    },
  },
});

const mixin2 = Vue.extend({
  computed: {
    mixin2_prop():number {
      return 20;
    },
  },
});

// Now in component I want to extend both mixin1 and mixin2

mixin1.extend(mixin2).extend({
  created() {
    console.log(this.mixin1_prop);
    console.log(this.mixin2_prop);
  },
});

TypeScript编译器抱怨带有错误Property 'mixin2_prop' does not exist on type 'CombinedVueInstance<Re的mixin2_prop

即使在示例在运行时运行时,也可以按预期运行,并且编号10和编号20都打印到控制台。

有人知道如何欺骗TS编译器,以便他识别组件代码中的两个mixins吗?

0 个答案:

没有答案