工作中遇到使用watch时第一次不会调用,随后查看资料整理如下
整个下午都在改这个问题,刚进入页面需要进行loading等待,数据渲染之后取消loading这个效果。
使用watch发现实现了但是第一次会出现数据还没渲染,loading就已经取消了这样的情况可以使用computed。
出现的问题与解决方案:
1、computed中的函数所依赖的属性没有发生变化,那么调用当前的函数的时候会从缓存中读取,而watch在每次监听的值发生变化的时候都会执行回调。
2、computed中的函数必须要用return返回,watch中的函数不是必须要用return。
3、computed默认第一次加载的时候就开始监听;watch默认第一次加载不做监听,如果需要第一次加载做监听,添加immediate属性,设置为true(immediate:true)
4、computed----当一个属性受多个属性影响的时候,使用computed-----购物车商品结算。watch–当一条数据影响多条数据的时候,使用watch-----搜索框.