vue - 路由传递参数

结构目录

 

 

1. 页面传值(不同之间的页面传值)

  1.1 index.js配置

源码:

 1 // 引入vue框架
 2 import Vue from 'vue'
 3 // 引入vue-router路由依赖
 4 import Router from 'vue-router'
 5 // Home
 6 import Home from '@/components/Home'
 7 
 8 import One from '@/components/One'
 9 
10 // Vue全局使用Router
11 Vue.use(Router)
12 
13 // 定义路由配置
14 export default new Router({
15   routes: [                //配置路由,这里是个数组
16     {                        //每一个链接都是一个对象
17       path: '/',            //链接路径
18       name: 'Home',        //路由名称,
19       component: Home,     //对应的组件模板
20       alias: '/home'
21     },
22     {
23       path:'one', // 子页面1
24       name: 'one', // 路由名称-命名路由
25       component:One
26   }
27   ]
28 })
View Code

 

  1.2配置Home.vue

源码:

 1 <template>
 2     <div class="hello">
 3         <h1>{{ msg }}</h1>
 4         <!-- 添加子路由导航 -->
 5         <p>导航 :
 6            <router-link :to="{name: 'one', params:{username:'test123'}}">子页面1</router-link>
 7         </p>
 8         <!-- 子页面展示部分 -->
 9         <router-view/>
10     </div>
11 </template>
12 
13 <script>
14 export default {
15   name: "Home",
16   data() {
17     return {
18       msg: "Home Page!"
19     };
20   }
21 };
22 </script>
23 
24 <style scoped>
25 </style>
View Code

 

 

  1.3配置One.vue

源码:

 1 <template>
 2   <div class="hello">
 3     <h2>{{msg}} - {{$route.params.username}}</h2>
 4   </div>
 5 </template>
 6 
 7 <script>
 8 export default {
 9   name: "one",
10   data() {
11     return {
12       msg: "Welcome to One!"
13     };
14   }
15 };
16 </script>
17 
18 <!-- Add "scoped" attribute to limit CSS to this component only -->
19 <style scoped>
20 h1,
21 h2 {
22   font-weight: normal;
23 }
24 ul {
25   list-style-type: none;
26   padding: 0;
27 }
28 li {
29   display: inline-block;
30   margin: 0 10px;
31 }
32 a {
33   color: #42b983;
34 }
35 </style>
View Code

 

2. url传值(传递参数-同页面->向下page传值)

  2.1:设置路由

  2.2:传值

  2.3:主页面获取参数

 

3. 编程式导航-params传递参数

  3.1:设置路由

  3.2:设置传递参数

  说明:
    A、动态路由使用params传递参数,在this.$router.push() 方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。
    B、以上方式参数不会显示到浏览器的地址栏中,如果刷新一次页面,就获取不到参数了

  3.3:接收参数并且显示

 

4.编程式导航-query传递参数

  4.1:修改传递参数形式

  4.2:修改接收参数形式

 

5.以上两种方式,有什么不同呢?paramsquery

  5.1 query传参

  5.2:params传参

 

posted @ 2018-09-10 17:54  Sunsin  阅读(4501)  评论(0编辑  收藏  举报