vue watch的三种用法

复制代码
var app = new Vue({
  data: {
    a: 1,
    b: 2,
    c: 3
  },
  watch: {
    // watch的第一种形式
    a: function (val, oldVal) {  // 在监听$route时,第一个参数表示to, 第二个参数表示from
      console.log()
    },
    // watch的第二种形式,注意当引用函数名时,必须用单引号
    b: 'going',
    // watch的第三种形式
    c: {
      handler: function (val, oldVal) {
        console.log(val)
      },
      deep: true, // 是否深度监听
      immediate: true // 是否立即执行handler函数
    }
  },
  methods: {
    going () {
      console.log(123)
    }
  }
})
复制代码

 在后台登录系统的登陆界面见过这几行代码:

复制代码
data () {
    return {
        redirect: undefined
    }
}
  watch: {
    $route: {
      handler: function (route) {
        this.redirect = route.query && route.query.redirect
      },
      immediate: true
    }
  },
复制代码

上述代码的意义是什么呢?
因为有immediate: true 说明加载登录页面时就会执行handler函数,handler的第一个参数表示to,
所以上述代码的意义就是,加载登录页后,直接获取,登录页地址栏的的redirect参数,赋值给this.redirect

posted @   前端白雪  阅读(338)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示