vue框架中props的typescript用法

Posted xiaodoudou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue框架中props的typescript用法相关的知识,希望对你有一定的参考价值。

vue框架中props的typescript用法

在vue中使用typescript时,需要引入vue-property-decorator库来兼容格式。

javascript写法

Vue.component('blog-post', {
  // 在 JavaScript 中是 camelCase 的
  props: ['postTitle'],
  template: '<h3>{{ postTitle }}</h3>'
})

typescript写法

  @Prop({
    type: Array,
    default: function(): Array<LabelData> {
      return [];
    }
  })
  label_list: Array<LabelData> | undefined;

typescript和javascript在用法的区别,主要是需要严格规定label_list的类型。

但是,在vue里面,prop是不能赋初始值的。这个规则和typescript会发生矛盾,因此定义类型需要加undefined,避免typescript转义告警。

在代码中使用label_list时,需要用label_list as Array的语法,转换成正常的数组格式

参考链接

vue props

vue-property-decorator

以上是关于vue框架中props的typescript用法的主要内容,如果未能解决你的问题,请参考以下文章

vue ts ,vue使用typescript,三种组件传值方式

如何从 typescript 访问 vue 中组件的 props

Vue 2 + TypeScript:避免直接改变 Prop - 在带有 vue-property-decorator 的基于类的组件中

如何在 Vue 中以 Typescript 语法定义使用 prop 作为其初始值的本地数据属性?

使用Typescript和类组件装饰器时如何在Vue Router中传递props

使用 Typescript 在 Vue3 组合 API 中观察 Value Prop