编程式路由导航--学习笔记

                                                     编程式路由导航

1、案例截图

编程式路由导航需要经常用到,需要熟悉使用

过程说明:

(1)当选择News,再选择Message,将三个“push查看”依次顺序点击,每次选择回退功能,路由会倒序依次回退;

(2)当选择News,再选择Message,将三个“replace查看”依次顺序点击,当选择一次回退功能,路由直接刷新,进入News界面

2、所用知识点讲解

(1)this.$router.push(path):用新路由以入栈形式覆盖当前路由,但不替换(可以返回到当前路由界面,原理如出栈顺序);

(2)this.$router.replace(path):用新路由替换当前路由(不可以返回到当前路由界面);

(3)this.$router.back():请求(返回)上一个记录路由;

(4)this.$router.go(-1):请求(返回)上一个记录路由;(推荐优先使用前三个方法)

3、实现过程

(1)基于路由基础使用(请点击)和 嵌套路由(请点击)和向路由组件传递数据(请点击)前提下,

在文件src\views\Home\Message.vue中,定义路由组件,添加三个按钮:push查看、replace查看、返回

(2)在文件src\views\Home\Message.vue中, methods: { }  里面定义相关方法 

(3)终端运行 npm run dev 即可。

(4)拓展:补充完整代码如下:

<template>
  <div>
      <ul>
          <li v-for="(message, index) in messages" :key="index">
              <!-- 使用字符串拼接,用到反引号 -->
              <router-link :to="`/home/message/detail/${message.id}`">{{message.title}}</router-link>
              <button @click="pushShow(message.id)">push查看</button>
              <button @click="replaceShow(message.id)">replace查看</button>
          </li>
      </ul>
  <button @click="$router.back()">回退</button>
      <hr>
      <router-view></router-view>
  </div>
</template>

<script>
export default {
  data () {
      return {
        messages: []
      }
  },

  mounted () {
      //模拟ajax请求从后台获取数据
      setTimeout(() => {
          const messages = [
              {
                  id: 1,
                  title: 'message001'
              },
              {
                  id: 3,
                  title: 'message003'
              },
              {
                  id: 5,
                  title: 'message005'
              }
          ]
          this.messages = messages
      }, 1000)
  },
//规范说明:冒号后边需要空格;  每一句语句结束之后不能有空格
  methods: {
      pushShow (id) {
          this.$router.push(`/home/message/detail/${id}`)
      },

      replaceShow (id) {
           this.$router.replace(`/home/message/detail/${id}`)
      }
  }
}
</script>

<style>

</style>

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值