我想创建一个Vue.js组件,它接收来自其父组件的属性,例如:
<table-cell :value="foo" format="date" />
由于value
和format
被定义为属性,因此Vue会自动将观察者注册到其值。一般来说这很好,但对于我的用例,我肯定知道这些值不会改变,所以不需要观察它们。
鉴于我的表格单元格组件可以在一个包含1000行和10列的表格中,这2个属性将创建20,000个观察者,我想避免所有这些开销(我的真实表单元格组件更复杂属性)。
是否有任何方法可以禁止观察组件属性,以避免浪费CPU和记忆资源?
更新 我找到了一个使用功能组件方法的低级解决方案,在此解释:https://vuejs.org/v2/guide/render-function.html#Functional-Components
我用这个JSFiddle测试了它:https://jsfiddle.net/50wL7mdz/12143/
我想知道这是否是正确的做法......
答案 0 :(得分:1)
将其传递给我认为像<your-component :data-value='foo' :data-format='date'>
它会做你想要的。