vue watch的用法

博客介绍了vue watch的三种用法,以后台登录系统登录界面代码为例,解释了代码中因有immediate: true,加载登录页面时会执行handler函数,其作用是获取登录页地址栏的redirect参数并赋值给this.redirect。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值