美文网首页
动态Vue-router(路由)

动态Vue-router(路由)

作者: 迷失的信徒 | 来源:发表于2022-04-13 09:47 被阅读0次

一、场景

在一些情况下,一个页面的path路径可能是不确定的,比如我们进入到用户界面时,希望是如下的路径:
-/user/aaa或者user/bbb

  • 除了前面的/user之外,后面还要跟上用户的ID
  • 这种pathcomponent的匹配关系,我们称之为动态路由(也是路由传递数据的一种方式)。

二、使用

  • 1、首先我们需要创建一个user.vue的组件。
  • 2、配置router/index.js路由映射关系。
    3A02A378F74A5E92315B5B0475124EA1.jpg
    这里的path:'/user/:userId'中的userId参数非常重要,在后面的路由传递数据的时候有用到。

3、在app.vue中的使用

<template>
  <div id="app">
    <router-link to="/home">首页</router-link>
    <router-link to="/about">关于</router-link>
    <router-link :to="'/user/' + userId">用户</router-link>
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  name: 'App',
  data() {
    return {
      userId:'zhangsan'
    }
  },
}
</script>
<style>
.router-link-active{
  color: #FF0000;
}
</style>

4、user.vue组件中获取到userId,这里的userId对应的就是路由映射中的参数

<template>
  <div>
    <p>这里是用户的相关信息</p>
    <h2>我是用户界面</h2>
    //1、可以通过计算属性获取
    <!-- <p>{{userId}}</p> -->
    //2、也可以通过route直接获取
    <p>{{$route.params.userId}}</p>
  </div>
</template>
<script>
  export default{
    computed:{
      userId(){
        return this.$route.params.userId//这里获取到的是当前活跃的路由
      }
    }
  }
</script>
<style>
</style>

相关文章

网友评论

      本文标题:动态Vue-router(路由)

      本文链接:https://www.haomeiwen.com/subject/qncnsrtx.html