区别
计算属性具有缓存数据效果。
侦听器适用于响应数据时进行异步或开销较大的操作。
相同点:
1.都是普通函数升级版
2.值可以写函数也可以写对象
不同点:
1.计算属性有缓存,基于响应式依赖缓存
2.计算属性不加小括号直接视图调用,侦听器不能调用
如何选:
1.优先默认methods
2.要缓存时用计算属性
3.监控模型数据变化
计算属性的基本使用
- 使用Mastache语法拼接
<h2>{{firstName+ " " + lastName}}</h2>
- 使用方法methods
<h2>{{getFullName()}}</h2>
- 使用计算属性computed
<h2>{{fullName}}</h2>
- 计算属性默认只有getter,在需要的时候可以提供一个setter
侦听器watch
watch => 响应数据的变化,对于动态数据的一个监听。在数据变化的时候执行【异步或开销较大】的操作。
一个值的改变,会影响多个值(或处理多事件),使用侦听器。(为了观察一个值)多个值的改变,为了得到一个结果,使用计算属性。(为了得到一个值)实际开发中,大部分问题都可以使用computed解决,检测路由的变化只能用侦听器来实现