一. methods
methods 方法:哪里调用哪里执行,不会缓存结果,调用一次执行一次;
二. computed
computed 计算: 有返回值,会缓存计算结果,只有依赖值发生改变才会去重新计算
三. watch
watch 监听: 监听已存在的数据,可以进行异步操作,也可以监听路由
watch 监听 数据的变化
watch 有三个参数 deep(是否开启深度监听,针对复杂数据类型) 、immediate(是否一开始就执行一次handler函数) 、handler(数据发生改变执行的函数)
当我们不需要 deep 和 immediate 的时候 就可以简写为一个函数 这个函数就是 handler
watch: {
num: {
deep: true, //深度监听
immediate: true, //进入页面立刻监听
handler(newval) {
console.log(newval);
},
//执行函数 参数是newval 和 oldval
},
// num() {},
// 之前写的只有一个函数的情况 是handler的简写 不需要 deep 和 immediate的时候可以简写
},
watch 监听路由的变化
监听路由的话就是监听 $router
watch: {
$route: {
handler(newval, oldval) {
console.log(newval, oldval);
},
},
},