简析vue子路由参数传递与接收

本篇文章给大家介绍有关vue路由:子路由,路由中参数的传递,希望对大家有帮助!

1.在idea中新建vue项目

2.main.js中修改

import Vue from 'vue'
// import Router from './Router'     /*引用自同级Router.js*/
import Router from './SonRouter'     /*引用自同级SonRouter.js*/

在这里插入图片描述
【相关推荐:vue.js视频教程】

3.src下新建文件SonRouter.js

/*子路由*/
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
//声明模版,点击链接显示对应的内容
const first = { template:&#39;<div>first内容</div>&#39;}
const second = { template:&#39;<div>second内容</div>&#39;}
const Home = { template:&#39;<div>Home内容</div>&#39;}
const firstFirst = { template:&#39;<div>firstFirst内容 {{$route.params.id}} {{$route.params.name}}</div>&#39;}
const firstSecond = { template:&#39;<div>firstSecond内容 {{$route.params.id}} {{$route.params.name}}</div>&#39;}

//单独的写组件模版的时候可直接这样写,名称自定义
const sonRunterTemplate ={
  template:`
      <div class="">
            <h2>组件</h2>
            <router-view class="red"></router-view> 
       </div>
  `
}

//router自己定义名字
const router = new VueRouter({
  mode:&#39;history&#39;,
  base:__dirname, //当前的路径   dirname在node中指当前的本地路径
  routes:[       //以数组的方式给出  [{},{}],多个的话一定是routes复数形式
    {path:&#39;/&#39;,name:&#39;Home&#39;,component:Home},
    {path:&#39;/first&#39;,component:sonRunterTemplate,
        children:[
          {path:&#39;/&#39;,name:&#39;Home-First&#39;,component:first},
          {path:&#39;first&#39;,name:&#39;Home-First-First&#39;,component:firstFirst},
          {path:&#39;second&#39;,name:&#39;Home-First-Second&#39;,component:firstSecond}
        ]
    },
    {path:&#39;/second&#39;,name:&#39;Home-Second&#39;,component:second}
  ]
})

new Vue({
  router,
  template:`
    <div id=&#39;r&#39;>
        <h1>导航</h1>
        <p>{{$route.name}}</p>
         <ol>
            <li><router-link to="/">/</router-link></li>   <!--router-link存放路由链接的   to相当于href,表示链接到哪里-->
            <li><router-link to="/first">first</router-link></li>
                <ol>
                    <li><router-link :to="{name:&#39;Home-First-First&#39;,params:{id:147,name:&#39;张三&#39;}}">first</router-link></li>
                    <li><router-link :to="{name:&#39;Home-First-Second&#39;,params:{id:258,name:&#39;李四&#39;}}">second</router-link></li>
                </ol>
            <li><router-link to="/second">second</router-link></li>
          </ol>
          <router-view class="green"></router-view>   <!--规定整个路由显示在其中,class表示修饰的类-->
    </div>
    `
}).$mount(&#39;#app&#39;)
/*
路由中参数的传递:
    1.通过路由传参 name:&#39;Home-First&#39;   获取 <p>{{$route.name}}</p>
    2.绑定to方式进行参数的传递  :to="{name:&#39;Home-First-Second&#39;,params:{id:258,name:&#39;李四&#39;}}"  获取{{$route.params.id}} {{$route.params.name}}
    */
/*
route 路线  $route.params
router  路由
routes  路由复数形式  一定是数组
*/

运行结果:
在这里插入图片描述

以上就是简析vue子路由参数传递与接收的详细内容,更多请关注其它相关文章!