【发布时间】:2020-03-24 07:10:58
【问题描述】:
使用vue-class-component,您可以将 Vue 组件定义为 Typescript 类,如下所示:
import Vue from "vue"
import Component from "vue-class-component"
@Component({})
export default class MyComponent extends Vue {
public foo: number = 123;
public bar: string = "123";
}
所有成员变量都变为反应式。 Vue 遍历对象并用 getter 替换所有字段,这些字段在设置时通知 Vue。它深深地做到了这一点 - 即它递归到子对象中。
我经常想在类中存储一些不是反应性的数据,因为添加反应性非常慢。
我知道的唯一方法是使字段未定义:
@Component({})
export default class MyComponent extends Vue {
public foo?: number;
public bar?: string;
}
但这很糟糕,因为你必须到处检查undefined,或者使用public foo!: number,并冒着类型错误的风险。并且该字段未初始化!
有没有办法让一个非反应性的初始化字段?
【问题讨论】:
标签: typescript vue.js