学习vue第二十三节,路由传参方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="lib/vue-2.4.0.js"></script> <!-- 1. 安装 vue-router 路由模块 --> <script src="lib/vue-router-3.0.1.js"></script> <style> /* 当展示哪个路由,router-link标签就会加上两个class router-link-exact-active router-link-active */ .router-link-active, .myactive { background-color: #1B6D85; } .v-enter, .v-leave-to { opacity: 0; transform: translateX(140px); } .v-enter-active, .v-leave-active { transition: all 0.5s ease; } .a{ width: 200px; height: 200px; background-color: red; } .b{ width: 200px; height: 200px; background-color: green; } </style> </head> <body> <div id="app"> <!-- 路由可以自己传参数 --> <router-link to="/login?id=10&name='张三'" tag="span">login</router-link> <router-link to="/register" tag="span">register</router-link> <transition mode="out-in"> <router-view></router-view> </transition> </div> <script> // 组件模板对象 var login={ template:"<div class='a'>login---id-{{$route.query.id}}--{{$route.query.name}}</div>", created(){ // 通过$route.query方法得到参数 console.log(this.$route.query.id) } } var register={ template:"<div class='b'>register</div>" } // 2.创建路由对象。当导入路由的包时,就有了一个路由的构造函数 var rout=new VueRouter({ routes:[ {path:'/',redirect:'/login'}, //redirect 重定向,是根路径是跳转到某个url地址上 {path:'/login',component:login}, {path:'/register',component:register} ], linkActiveClass:'myactive' }) // 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', data: {}, methods: {}, router: rout // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件 }); </script> </body> </html>
传参二
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="lib/vue-2.4.0.js"></script> <!-- 1. 安装 vue-router 路由模块 --> <script src="lib/vue-router-3.0.1.js"></script> <style> /* 当展示哪个路由,router-link标签就会加上两个class router-link-exact-active router-link-active */ .router-link-active, .myactive { background-color: #1B6D85; } .v-enter, .v-leave-to { opacity: 0; transform: translateX(140px); } .v-enter-active, .v-leave-active { transition: all 0.5s ease; } .a{ width: 200px; height: 200px; background-color: red; } .b{ width: 200px; height: 200px; background-color: green; } </style> </head> <body> <div id="app"> <!-- 路由可以自己传参数 --> <router-link to="/login/12/'张三'" tag="span">login</router-link> <router-link to="/register" tag="span">register</router-link> <transition mode="out-in"> <router-view></router-view> </transition> </div> <script> // 组件模板对象 var login={ template:"<div class='a'>login---id-{{$route.params.id}}name--{{$route.params.name}}</div>", created(){ // 通过$route.params 方法得到参数 console.log(this.$route.params.id) } } var register={ template:"<div class='b'>register</div>" } // 2.创建路由对象。当导入路由的包时,就有了一个路由的构造函数 var rout=new VueRouter({ routes:[ {path:'/',redirect:'/login'}, {path:'/login/:id/:name',component:login},//路由匹配规则定义变量 {path:'/register',component:register} ], linkActiveClass:'myactive' }) // 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', data: {}, methods: {}, router: rout // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件 }); </script> </body> </html>
本文来自博客园,作者:三线码工,转载请注明原文链接:https://www.cnblogs.com/shangrao/p/13088733.html