如何在vue.js组件属性中禁用数据观察

时间:2017-01-30 10:33:48

标签: javascript vue.js

我想创建一个Vue.js组件,它接收来自其父组件的属性,例如:

<table-cell :value="foo" format="date" />

由于valueformat被定义为属性,因此Vue会自动将观察者注册到其值。一般来说这很好,但对于我的用例,我肯定知道这些值不会改变,所以不需要观察它们。

鉴于我的表格单元格组件可以在一个包含1000行和10列的表格中,这2个属性将创建20,000个观察者,我想避免所有这些开销(我的真实表单元格组件更复杂属性)。

是否有任何方法可以禁止观察组件属性,以避免浪费CPU和记忆资源?

更新 我找到了一个使用功能组件方法的低级解决方案,在此解释:https://vuejs.org/v2/guide/render-function.html#Functional-Components

我用这个JSFiddle测试了它:https://jsfiddle.net/50wL7mdz/12143/

我想知道这是否是正确的做法......

1 个答案:

答案 0 :(得分:1)

将其传递给我认为像<your-component :data-value='foo' :data-format='date'>

的自定义数据

它会做你想要的。