naro

您所在的位置:首页 > 解决方案 > 前端技术 > 正文
vue的路由如何传参数,取参数 发表时间:2018-02-27 17:01:31 点击:
导言:项目中涉及到vue的传参,index vue首页点击导航时请求一个字段catid,list vue列表页根据传过来的catid参数,显示导航列表内容,下面详细介绍下步骤:

项目环境:laravel+vue

步骤

1、配置路由。

//list是返回列表
const List = () => import(/* webpackChunkName: "文章类别列表" */ '@/views/portal/list')

//catid是请求字段
{
    path: '/portal/list/:catid', //文章类别列表
    name: 'list', //路由路径名
    component: List,
}


2、传参

在list.vue文件里配置动态参数字段,以实现点击列表中的内容进行详情页跳转

//方法1
<a :href="'#/portal/list/' + data.catid ">{{ data.catname  }}</a>

//方法2,这里的name一定要和步骤1里的一致,data.catid为接口提供的字段参数
<router-link :to="{ name: 'list', params: { catid : data.catid }}">{{ data.catname }}</router-link>

此时,你会看见访问的链接里会出现http://localhost:9000/#/portal/list/24


3、取参

在list.vue里访问接口时利用params进行取参,如图

0.png

catId是index.vue传参过来的字段,利用this.$route.params.catid进行获取

下面的watch方法用来监听,比如index.vue点击到list.vue里OK,但在list.vue如果嵌套就需要监听某些方法,在这里耗了很久。