從vue-property-decorator的文檔中可以看到這么一句話:Mixins (the helper function named mixins provided by vue-class-component)
所以,vue-property-decorator中使用mixin的話,可以借助vue-class-component
安裝vue-class-component
npm install vue-class-component --save
mixin文件:myMixin.ts
import { Vue, Component } from 'vue-property-decorator';
@Component
export default class MyMixin extends Vue {
// data
public value: string = 'myMixin';
// method
public setValue (value: string) {
this.value = value
}
}
在myApp.tsx中使用myMixin.ts
import { Vue, Component } from 'vue-property-decorator';
import { mixins } from 'vue-class-component';
import myMixin from './myMixin.ts'
@Component
export default class MyApp extends mixins(myMixin) {
public mounted () {
// 訪問value
console.log(this.value) // myMixin
// 調(diào)用setValue
this.setValue('myApp')
}
}
以上,使用vue-class-component提供的Mixins,可以很方便的在ts中使用mixins。另外,還可以在component中使用mixin,但是需要繞過ts的驗(yàn)證問題,這里不推薦使用。