我是靠谱客的博主 勤恳紫菜,最近开发中收集的这篇文章主要介绍Vue3.x动态路由、命名路由和编程式导航,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.动态路由的定义和使用

两种方法 :

        1.路由中的动态传参以 : 进行声明,冒号后面跟的是动态参数名(path: 'apple/:mid'),通过{{ $route.params.mid }}进行接收

        2.声明属性props:true,选项,以props的形式接收动态路由中的参数

{
      path: '/fruit',
      component: MyFruit,
      //子路由重定向
      redirect: '/fruit/apple/:mid',
      //声明props:true,选项,以props的形式接收动态路由中的参数
      props: true,
      children: [
        //路由中的动态传参以 : 进行声明,冒号后面跟的是动态参数名
        { path: 'apple/:mid', component: MyApple, props: true },
        { path: 'orange/:mid', component: MyOrange, props: true }
      ]
    },
<template>
  <div class="">
    <h3>水果-------{{ $route.params.mid }}</h3>
    <p>---{{ mid }}</p>
    <router-link to="/fruit/apple/1" >苹果</router-link>
    <router-link to="/fruit/orange/2" >橘子</router-link>
    <hr />
    <router-view class="fruit-router"></router-view>
  </div>
</template>

<script type="text/ecmascript-6">
export default {
  name: 'MyFruit',
  props: ["mid"]
}
</script>

2.编程式导航

        this.$router.push()  --- 通过匹配path路径进行条装

        this.$router.go(-1) --- 返回上一级

<template>
  <div class="">
    <h3>home组件</h3>
    <!-- 编程式导航的应用 -->
    <button @click="goApple">跳转到苹果页面</button>
    <button @click="goBack">回退</button>
  </div>
</template>

<script type="text/ecmascript-6">
export default {
  name: 'MyHome',
  data () {
    return {}
  },
  methods: {
    goApple () {
      //通过匹配path路径进行条装
      this.$router.push('/fruit/apple/1')
    },
    goBack () {
      //回退一个页面
      this.$router.go(-1)
    }
  },
  components: {}
}
</script>

3.命名路由

一、声明name属性,为路由进行命名

{
      path: '/fruit',
      component: MyFruit,
      //子路由重定向
      redirect: '/fruit/apple/:mid',
      //声明props:true,选项,以props的形式接收动态路由中的参数
      props: true,
      children: [
        //路由中的动态传参以 : 进行声明,冒号后面跟的是动态参数名
        //命名路由,声明name属性
        { path: 'apple/:mid', component: MyApple, props: true, name: 'apple' },
        { path: 'orange/:mid', component: MyOrange, props: true, name: 'orange' }
      ]
    },

使用命名路由进行跳转

 <!-- 通过命名路由跳转, params声明要传递的参数 -->
    <router-link :to="{ name: 'orange', params: { mid: 2 } }" @click="getRouter"
      >橘子</router-link>

二、通过编程式导航运用命名路由

goApple (id) {
  //通过命名路由进行编程式导航
  this.$router.push({ name: 'orange', params: { mid: id } })
},

最后

以上就是勤恳紫菜为你收集整理的Vue3.x动态路由、命名路由和编程式导航的全部内容,希望文章能够帮你解决Vue3.x动态路由、命名路由和编程式导航所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部