我们监听一个元素,在created中,如果这个值被赋值多次,但是监听只能监听到一次。如何做到监听两次?
浏览器输出: 发现只输出一次3
解决: $nextTick()是一个promise对象,可以用async和await,下图中两种写法一个意思。
输出:为什么不输出1,因为1和3在一个层,3把1给覆盖了。
-->
--->
总结:要想能监听一个元素多次被改变的值,需要加上this.$nextTick();
computed计算属性原理和响应式原理都是大同小异的,同样的是使用数据劫持以及依赖收集,不同的是计算属性有做缓存优化,只有在依赖属性变化时才会重新求值,其它情况都是直接返回缓存值。服务端不对计算属性缓存。