在 Vuejs 类 Component 中声明 typescript 接口 Props

新手上路,请多包涵

我正在寻找在 Vuejs 类 Component 中声明一个 typescript 接口 Props,就像我们可以用 React Component 做的那样。

它看起来像这样:

 import {Component, Prop, Vue} from 'vue-property-decorator'

export class Props extends Vue
{
  classElement :string
}

@Component
export default class Menu extends Vue<Props>
{
    public props :Props;

    constructor(props)
    {
        super(props);
        console.log(props); // return undefined
    }

    mounted()
    {
      console.log(this.props.classElement); // return undefined
    }
}

有没有办法做到这一点?

原文由 BrownBe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 370
1 个回答

现在你可以在 Prop() 装饰器中使用 {type: Object as () => User} 像这样:

 import Vue from 'vue'
import { Component, Prop } from 'vue-property-decorator'

import User from './models/user';

@Component()
export default class Menu extends Vue
{

    @Prop({type: Object as () => User})
    public user!: User // notice the bang saying to compiler not to warn about no initial value

    mounted(){
      console.log(this.user);
    }

}

原文由 Luis David 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题