Vue生命周期和beforeRouteEnter理解

1、beforeRouteEnter(to,from,next)

beforeRouteEnter 函数内部 this 是undefined,这是因为在执行路由钩子函数beforRouteEnter时候,组件还没有被创建出来;先执行beforRouteEnter,再执行组件周期钩子函数beforeCreate。我们可以通过 next 获取组件的实例对象,如:next( (vm)=>{} ),参数vm就是组件的实例化对象。

beforeRouteEnter (to, from, next) {
    if (to.meta.needLogin && to.meta.mustAgent) {
      next(vm => {
        vm.needLogin = true
        vm.mustAgent = true
      })
    } else if (to.meta.needLogin || to.meta.mustAgent) {
      next(vm => { to.meta.needLogin ? vm.needLogin = true : vm.mustAgent = true })
    } else {
      next()
    }
  }

to参数如下

2、beforeRouteLeave 的三个参数分别是
1、to:要去的页面
2、from: 本页面地址
3:next 下一步

** 这个离开守卫通常用来禁止用户在还未保存修改前突然离开。该导航可以通过 next(false) 来取消。

2、数据对象data:初始化属性,响应数据变化,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。

3、计算属性computed: 将function内return的值赋值在html的DOM上,computed内的function也只执行一次。computed具有缓存能力,仅当function内涉及到Vue实例绑定的data的值的改变,function才会重新执行,并修改DOM上的内容。

 

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值