watch: {
//监视data里面某个数据的变化,只要一变化就执行,变化时做业务定制处理
//引用类型只能监视一层,无法监视内部成员的变化
todos: {
//当监视到todos改变的时候会自动调用handler方法
//监视的谁val就是谁
//oldVal是变化之后的值
handler (val, oldVal) {
window.localStorage.setItem('todos', JSON.stringify(val))
},
//深度监视,只有这样才能监视到对象里面属性的变化
deep: true,
//无论变化与否,上来就执行一次
immediate: true
}
},
watch监视路由的改变:
var vm = new Vue({
el: '#app',
data: {},
methods: {},
router: router,
watch: {
//监视路由的变化
'$route.path': function (newVal, oldVal) {
if (newVal === '/login') {
console.log('欢迎来到登录页面')
} else if (newVal === '/register') {
console.log('欢迎来到注册页面')
}
}
}
});