Typescript给我以下错误:类型“ Vue”上不存在属性“名称”
我知道我可以这样做以添加全局属性:
declare module "vue/types/vue" {
interface Vue {
name: string;
}
}
但是我只希望我的Tab组件具有该属性。 如何为带有属性名称的Tab组件创建本地接口?
Tab.vue
:
@Component
export default class Tab extends Vue {
@Prop({required : true, type: String}) public name!: string;
}
Tabs.vue
:
@Component
export default class Tabs extends Vue {
private mounted(): void {
// tslint:disable-next-line: no-console
this.$children.forEach((tab) => console.log(tab.name));
}
}
好,我找到了解决方法:
export interface ITab extends Vue {
name: string;
}
this.$children.forEach(tab=> {
console.log((tab as ITab).name);
});