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

标签 javascript vue.js

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

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

因为 valueformat 被定义为属性,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/

相关文章:

javascript - 在 vuejs 中将背景图像分配为变量

javascript - 无法在 Vuetify v-alert close 上触发功能

javascript - 在 JS 中使用 .load 时如何显示 'loading' 动画?

javascript - 如何像显示的示例一样迭代每个数字? (Java 脚本)

javascript - 如何在相应的滚动条上获得虚线 svg 动画?

vue.js - 有条件地渲染父元素,保留内部 html

jquery-chosen - 使用 jquery-chosen 插件更新 vuejs 模型值

javascript - Vue.js 向父组件发射对象

javascript - Extjs:使用提交表单上传文件

javascript - 使用 react 更新时出错