3种vue路由传参的基本模式
2018-02-22 10:01
761 查看
路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功。
在vue路由中,支持3中传参方式。
场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取对应li的数据,显示相应的正确的内容。
父组件中:
<li v-for="article in articles" @click="getDescribe(article.id)">
方案一:
getDescribe(id) { // 直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/describe/${id}`, }) // 方案一,需要对应路由配置如下: { path: '/describe/:id', name: 'Describe', component: Describe } // 很显然,需要在path中添加/:id来对应 $router.push 中path携带的参数。 // 在子组件中可以使用来获取传递的参数值。 $route.params.id
方案二:
// 父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。 this.$router.push({ name: 'Describe', params: { id: id } }) // 对应路由配置: 注意这里不能使用:/id来传递参数了,因为父组件中,已经使用params来携带参数了。 { path: '/describe', name: 'Describe', component: Describe } //子组件中: 这样来获取参数 $route.params.id
方案三:
// 父组件:使用path来匹配路由,然后通过query来传递参数 这种情况下 query传递的参数会显示在url后面?id=? this.$router.push({ path: '/describe', query: { id: id } }) // 对应路由配置: { path: '/describe', name: 'Describe', component: Describe } // 对应子组件: 这样来获取参数 $route.query.id // 这里要特别注意 在子组件中 获取参数的时候是$route.params 而不是 $router 这很重要~~~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- vue 路由传参的三种基本模式
- vue-router菜鸟进阶!(路由组件传参 vs H5 History模式)
- vue路由组件传参-页面通信
- 详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
- vue动态路由匹配,路由传参
- vue-router: 路由传参
- Vue路由History mode模式中页面无法渲染的原因及解决
- vue-router: 路由传参
- vue 的路由传参
- 基于vue-cli的vue项目之路由1--最基本的使用
- VueJs(11)---vue-router(命名路由,命名视图,重定向别名,路由组件传参)
- Vue 路由的传参问题
- Vue中的 this.$router.push() 参数获取 (通过路由传参)
- AngularJs之ui.router路由基本配置及传参方法
- Vue学习第二天 vue-router: 路由传参
- vue 路由传参
- Vue——路由定义及基本使用
- 解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题
- vue-router: 路由传参
- php 3种基本设计模式的组合使用