vue的router(二)router-link的replace属性&编程式路由导航&缓存路由组件&两个新的生命周期钩子&路由守卫

1.router-link的replace属性

*给router-link添加replace属性后页签不能后退:

2.编程式路由导航

*作用:不借助router-link实现路由的跳转,让落跳转更加灵活:

 

 3.缓存路由组件

*作用:让不展示的路由组件保持挂载,不被销毁

<keep-alive include='组件的名字'>

        <router-view></router-view>

</keep-alive>

4.两个新的生命周期钩子

*路由组件特有的两个生命周期钩子:activated、deactivated

 用于捕获路由组件的激活状态

<template>
    <ul>
        <h2 :style="{opacity}">欢迎学习</h2>
        <li>news001<input type="text"></li>
        <li>news002<input type="text"></li>
        <li>news003<input type="text"></li>
    </ul>
</template>

<script>
export default {
    name:"News",
    data() {
        return {
            opacity:1
        }
    },
    activated(){
        this.timer=setInterval(() => {
            this.opacity-=0.01
            if (this.opacity<=0) {
                this.opacity=1
            }
        }, 16);
    },
    deactivated() {
        clearInterval(this.timer)
    },
}
</script>

5.全局前置_路由守卫 

*meta{}//表示路由元信息,是用户自定义的信息

*简化上方代码:

   在需要权限校验的路由里配置meta:

 6.全局后置_路由守卫

*页面跳转后执行

//全局后置路由守卫
router.afterEach((to) => {
    document.title=to.meta.title || "硅谷系统"
})

 7.独享路由守卫

*独享路由守卫,只有前置没有后置,规则和全局前置路由守卫一样,配置在某个路由中

beforeEnter: (to, from, next) => {

   ···

}

8.组件内路由守卫

<template>
  <div>
      <h2>我是About的内容</h2>
  </div>
</template>

<script>
export default {
  //通过路由规则,进入该组件时被调用
  beforeRouteEnter (to, from, next) {
    next()
  },
  //通过路由规则,离开该组件时被调用
  beforeRouteLeave (to, from, next) {
    next()
  }
}
</script>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桃桃tao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值