如何解决多次使用vm$ watch而不是一次来处理多个回调?
在其中一项要求中,我需要针对不同的回调(属于多个子组件)将手表动态添加到同一对象(在父组件中)。例如:
addWatch(callback){
this.$watch(()=>{
---
return **this.a**
},callback)
}
我有以下查询:
- 随着子组件数量的增加,是否会在VUEJS中引起性能问题? (如果是,是否有任何阈值)
- 如果我宁愿保留一个回调数组并创建一次watch循环遍历该数组并在watch触发时执行每个方法,会不会有任何性能改进?还是VUEJS在内部对其进行管理?
谢谢!
解决方法
最好为要观看的每件事打电话。这样,vue可以优化并仅在该监视程序中使用的实际变量发生更改时调用监视程序。
如果您寻找相同的值,则vue非常擅长优化,但是在那种情况下,最好只添加一个侦听器,因为这仍然会提高性能(但这实际上是微优化,通常不是)值得努力)
示例:
// Will only get called when a changes
this.$watch(() => this.a,() => {
this.aText = this.a + "";
});
// Will only get called when b changes
this.$watch(() => this.b,() => {
this.bText = this.b + "";
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。