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

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

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

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

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

有没有办法禁止观察组件属性,以避免浪费CPU和内存资源?

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

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

我想知道这是不是正确的方法……

最佳答案 使用自定义数据传递它我认为< your-component:data-value =’foo’:data-format =’date’>

它会做你想要的.

点赞