例如说现在有一个组件里面创建了一个比较复杂的对象,这个对象只是一个 helper 性质的东西,对象的成员是完全不需要 reactive 的。那这个对象还应该放在 data 里面吗?
感觉由于 vue 会对这个对象的所有属性加上 getter/setter 之类的,可能会导致一些例如性能之类的奇奇怪怪的问题。
1
yesC 2018-07-19 17:34:28 +08:00
|
2
noe132 2018-07-19 17:38:28 +08:00
如果东西不多,当然随意。
如果你用写类的方式写 Vue 组件,就不会有这个问题,因为实例属性就是 Vue 的 data 不过因为 Vue 的响应式是对 data 里所有的对象深层遍历安装 getter setter 的,所以如果不是数量特别多,比如几千几万几十万这种,通常没有性能问题。而且,如果你的属性没有在 render 函数里被访问到,或者被其他的渲染函数用到的计算属性依赖,通常是不会有副作用的,修改这些属性不会触发重新渲染。 |