我使用Typescript和vue-tsx-helper包来声明泛型,并使用vue-property-decorator来声明将类转换为Vue组件的道具,模型,emit方法等。以下代码示例是我的组件的声明:
@Component({
name: 'ButtonElementMixin',
})
class ButtonElementMixin extends VueComponent<{
type?: availableButtonTypes,
state?: availableButtonStates,
}> {
@Prop() type: availableButtonTypes = BUTTON_TYPE_BUTTON;
@Prop() state ?: availableButtonStates;
}
需要在IDE(WebStorm)中将vue属性装饰与TSX完成结合起来
这意味着我必须两次声明类型:在属性/方法和泛型中。
是否有任何方法可以在TSX命名空间(或其他地方)中声明类型,以便应从props /方法中使用通用的props并减少第一个包的使用(vue-tsx-helper)?
不幸的是,我靠打字稿不能很好地靠自己解决这个问题或在网上找到答案。