Javascript TypeScript抱怨使用Vue属性装饰器定义的现有Vue组件属性
我有一个Vue组件,该组件具有使用装饰器定义的属性:Javascript TypeScript抱怨使用Vue属性装饰器定义的现有Vue组件属性,javascript,typescript,vue.js,tslint,Javascript,Typescript,Vue.js,Tslint,我有一个Vue组件,该组件具有使用装饰器定义的属性: 从“Vue属性装饰器”导入{Component,Vue} @组成部分({ 道具:{ myId:String, }, }) 类TestProp扩展了Vue{ myFunction(对象:任意){ return obj[this.myId]//这里tslint抱怨:“类型'TestProp'上不存在属性'myId' } } 通过将此转换为任何,我可以避免类型错误: myFunction(对象:任意){ 返回obj[(如有).myId] } 但
从“Vue属性装饰器”导入{Component,Vue}
@组成部分({
道具:{
myId:String,
},
})
类TestProp扩展了Vue{
myFunction(对象:任意){
return obj[this.myId]//这里tslint抱怨:“类型'TestProp'上不存在属性'myId'
}
}
通过将此
转换为任何
,我可以避免类型错误:
myFunction(对象:任意){
返回obj[(如有).myId]
}
但这与其说是一种解决方案,不如说是一种变通办法
我猜编译器不知道@组件
装饰器定义的属性
有什么想法吗?您必须自己在组件中记录这些想法的状态
从那一页
// additional declaration is needed
// when you declare some properties in `Component` decorator
您必须自己在组件中记录它们的状态
从那一页
// additional declaration is needed
// when you declare some properties in `Component` decorator
我建议您使用此库: 有了它,您可以在组件类中声明您的道具 例如:
import { Vue, Component, Prop } from 'vue-property-decorator'
@Component
class TestProp extends Vue {
@Prop(String) myId: string!
}
我建议您使用此库: 有了它,您可以在组件类中声明您的道具 例如:
import { Vue, Component, Prop } from 'vue-property-decorator'
@Component
class TestProp extends Vue {
@Prop(String) myId: string!
}
请分享完整的错误详细信息请分享完整的错误详细信息我添加了另一个答案,但这是我一直在寻找的,没有找到。Vue需要转换为这种方式,而不是单一的decorator。这种声明属性的方式非常好,谢谢!我补充了另一个答案,但这是我一直在寻找的,没有找到。Vue需要转换为这种方式,而不是单一的decorator。这种声明属性的方式非常好,谢谢!感谢您指出这个例子。但是,在示例中,
propMessage
没有在类中再次声明……在该示例中是错误的,如果您使用itThanks指向此示例,它将不会编译。然而,在这个例子中,propMessage
没有在类中再次声明……在那个例子中它是错误的,它不会编译您使用它