这篇文章比较简单就是简单记录一下路由之间的值传递,特定写法,由于不是特别熟悉就记录一下。
Vue.js 值传递不像oc里有正向传值和反向传值,在oc中我们可以使用delegate、通知、block,甚至是单例等等方式传值,但是在Vue就是固定的写法,将参数拼接,通过路由传过去即可,如果是传个对象的话,可以使用 JSON.stringify()将对象转成string类型一样可以实现。
贴段代码上来:
首先index.js内
{
path: '/role_promoters_detail/:detail',//- 营销 推广员详情
name: 'role_promoters_detail',
component: role_promoters_detail,
meta:{
title:'推广员详情',
}
}
注意path内格式 :detail 传了个detail对象
lookDetail:function (item) {
var data = JSON.stringify(item);
location.href='#/role_promoters_detail/'+data+'';
}
注意格式问题,先将对象转字符串,使用类似于'+data+' 格式将转成的字符串传到详情页
最后就是在详情页内的取值问题了。如下图
methods:{//- 方法
init(){//- 初始化
var detail=JSON.parse(this.$route.params.detail);
this.name_input=detail.name
this.mercode_input=detail.mercode
this.tel_input=detail.phoneNum
this.radio=detail.sex.toString()
},
},
使用JSON.parse()解析成对象,注意格式问题,this.$route.params.detail都是固定写法,得到对象后取值即可。
总结:在Vue里没有正向反向传值之说,因为不论是前进或后退都是路由之间的跳转,暂且可以认为都是正向的吧。写法都是一些固定格式,多写几次记住即可,还是很简单的。
网友评论