我想创建一个从其父组件接收属性的 Vue.js 组件,例如:
<table-cell :value="foo" format="date" />
因为 value
和 format
被定义为属性,Vue 会自动将观察者注册到它们的值。这在一般情况下很好,但对于我的用例,我肯定知道这些值不会改变,因此不需要观察它们。
鉴于我的表格单元格组件可以在一个表格中,比如说,1,000 行和 10 列,这 2 个属性将创建 20,000 个观察者,我想避免所有这些开销(而且我的真实表格单元格组件有更复杂的属性)。
有什么方法可以禁止观察组件属性以避免浪费 CPU 和内存资源?
更新: 我找到了一个使用功能组件方法的低级解决方案,在此处进行了解释:https://v2.vuejs.org/v2/guide/render-function.html#Functional-Components
我已经用这个 JSFiddle 测试了它:https://jsfiddle.net/50wL7mdz/12143/
我想知道这是否是正确的方法...
最佳答案
用自定义数据传递它,我认为像 <your-component :data-value='foo' :data-format='date'>
它会做你想做的。
关于javascript - 如何在 vue.js 组件属性中禁用数据观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41933725/