为了账号安全,请及时绑定邮箱和手机立即绑定

请各位大佬指点!Vue2.x里data里的值改变filter不断调用的问题跪求!

请各位大佬指点!Vue2.x里data里的值改变filter不断调用的问题跪求!

Helenr 2019-11-03 15:40:55
问题如题,vue2.x里data里的属性导致其它data属性的filter不断调用的问题(下面的代码控制台会不断打出---filter)。这是bug,还是有其它配置可以设置?引用https://segmentfault.com/q/1010000007361021?_ea=1323594提问Document{{str}}={{str|myUppercase}}{{index}}={{myIndex}}varvm=newVue({el:"#app",data:{index:0,myIndex:0,str:'hello'},mounted:function(){varvm=this;setInterval(function(){vm.index++;},200);},/*created:function(){varvm=this;setInterval(function(){vm.index++;},200);},*/filters:{myUppercase:function(value){console.log('---filter');if(!value)return'';value=value.toString();returnvalue.toUpperCase();}},})
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

在vue中,只有计算属性可以帮助我们做缓存,方法和过滤器都不会。
所以:在vue中,多使用计算属性;不要在模版中泛滥多使用过滤器和方法执行
                            
查看完整回答
反对 回复 2019-11-03
?
慕标5832272

TA贡献1966条经验 获得超4个赞

如果在代码中加入updated和beforeUpdate这两个生命周期钩子函数,可以看到在myIndex变化时,这两个钩子函数会被调用。原因是:当data被修改时会导致虚拟DOM重新渲染和打补丁,因此应用会更新。大多数情况下都是使用计算属性computed来代替。关于updated和beforeUpdate的解释,可以参照下官方文档:https://cn.vuejs.org/v2/api/#...。
                            
查看完整回答
反对 回复 2019-11-03
  • 2 回答
  • 0 关注
  • 266 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信