美文网首页
动态路由

动态路由

作者: 稻草人_9ac7 | 来源:发表于2019-10-11 23:41 被阅读0次

路由动态传参

方法一

步骤1:在<router-link>进行传参

<router-link tag="li" :to="{name:'路由的名字'
,parmas:{id:item.filmId,name:item.filmName}} " v-for="(item, index) in items" 
:key="index"></router-link>

分析:格式是定义一个对象,传路由的名称name和参数parmas

注意:参数里面的内容就是我们自定义的

:to={name:'路由的名字',parmas:{id:item.filmId,name:item.filmName}}

步骤二: 在路由中进行配置

 routes: [{
                // path: "/movie",
                path: "/movie/:id/:name",
                name: "movie",
                component: movie
            },

分析: :id和:name表示的是我们在<router-link>定义的id和name

注意:他们之间用/分开,并且都带上:

步骤三:在有需求的页面中进行获取参数

  mounted() {
        this.$route.parmas.id
    },

注意区分跳转路由

  this.$router.push('/home/homeContent')
方法二

通过方法把参数传过去

我们一编区域列表跳转到区域编辑为例

步骤1: 使用一个edit函数,这个函数我们是可以定义的

 <el-button type="primary" icon="el-icon-edit" circle @click="edit(scope)"></el-button>

分析:函数中的scope参数是组件 <el-table>为我们定义好的,用这个参数可以获取到重要的参数如下:

首先scope返回的是一个对象

$index: 4 //它的值是我们点击数据表里的下标值
展示的是行里的数据
row:{
    areaId: "5da17e5c17b54d0068b83006"
    cityId: "5d9eda6217b54d0068a40bce"
    cityName: "5d9ee2a1c05a800073cc1a08"
    name: "asasqqq
}

步骤二:定义该方法,用来传参


    edit(scope) {
      //    let areaId = this.cityData.areaId
      console.log("数据", scope);
      let areaId = scope.row.areaId;
      // console.log("areaId",areaId)
      console.log("areaId", areaId);
      this.$router.push(`/area/edit/${areaId}`);
      console.log("111", scope);
    },

分析:用到的关键语法是

  //获取行的参数,比如是我们这里要获取的,areaId
let areaId = scope.row.areaId;
//使用push()可也指定要跳转到路由
   this.$router.push(`/area/edit/${areaId}`);

步骤3:配置路由

   {
      hidden: true,
      meta: {
      title: "区域编辑"
             },
           path: "edit/:areaId",
           component: () =>
          import ('@/page/area/children/edit')
    }

分析:通过path: "edit/:areaId",来进行动态路由传参

步骤4:获取我们的动态路由穿过来的值

 this.areaId=this.$route.params.areaId //获取传过来的参数值
方法三

通过<router-link></router-link>进行传参

步骤1 :在<router-link>使用路由跳转到指定的页面

<router-link :to="`/city/edit/${scope.row.cityId}`">编辑</router-link> 

步骤2:配置路由

    {
         hidden: true,
         meta: {
         title: "区域编辑"
               },
          path: "edit/:areaId",
          component: () =>
          import ('@/page/area/children/edit')
     }

步骤3:获取我们的动态路由穿过来的值

 this.areaId=this.$route.params.areaId //获取传过来的参数值

相关文章

  • Vue 动态路由

    动态路由 动态路由传参

  • 动态路由 & 嵌套路由实例

    1.动态路由 注意:动态路由以‘:’开头。$route 参数表见 “ 动态路由 & 嵌套路由 ” 2.嵌套路由 注...

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • 处理路由和权限映射element-admin

    你现在项目中如何处理路由和权限映射的? 动态路由分析动态路由流程图 动态路由源码分析生成动态路由的源码位于 src...

  • vue全家桶(2.5)

    3.8.动态路由匹配和路由组件传参 #3.8.1.动态路由匹配 动态路由意味着不固定,具有某种模式,我们希望通过某...

  • vue动态路由传值和get传值

    1、动态路由传值2、get传值 不同路由传值:动态路由 1、配置动态路由,main.js 2、在列表页NewsLi...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

  • vue中的路由

    vue中4中路由包含: 1、动态路由2、嵌套路由3、编程式路由4、命名式路由 1、动态路由 2、嵌套路由 3、编程...

  • this.$router.push的问题

    会匹配到‘/login’路由,但是 如果遇到动态路由会加载到动态路由后面。 所以不要忘了加'/'

  • 09、vue3动态路由搭建

    1、为什么需要动态路由? 一般开发都是写静态路由,我们为什么要使用动态路由呢?因为动态路由对权限的划分是一个最有效...

网友评论

      本文标题:动态路由

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