首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue-类组件& Mixins

vue-类组件& Mixins
EN

Stack Overflow用户
提问于 2020-01-21 08:11:30
回答 1查看 1.1K关注 0票数 1

我在Vue项目中使用了带TypeScript的Vue类组件。我有组件和Mixin:

代码语言:javascript
复制
// MyComp.vue
import Component, { mixins } from 'vue-class-component'
import MyMixin from './mixin.ts'

@Component
export class MyComp extends mixins(MyMixin) {
  compValue: string = 'Hello';
}


// mixin.ts
import Vue from 'vue'
import Component from 'vue-class-component'

@Component
export default class MyMixin extends Vue {
  created() {
    console.log(this.compValue); // TS2339: Property 'compValue' does not exist on type 'MyMixin'.
  }
}

它可以工作,但是TypeScript抱怨丢失了属性'compValue‘。如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-21 08:42:38

发生此错误是因为compValue不存在于MyMixin中。如果这是一个抽象类,从来没有单独实例化过,并且保证了属性的存在,那么可以声明它:

代码语言:javascript
复制
export default class MyMixin extends Vue {
  compValue: string;
  created() {
    console.log(this.compValue);
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59836647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档