项目中我们一般都避免不了传参,传参方式有很多,但是我用的最多的还是
router 和route
,虽然比较老套,但是很好用
首先我们明确一点router和route的定义
1 .router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。
2 .route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等
我们在事件中一般是查看的时候会进行页面详情跳转
假设我们有个事件edit,
那么我们methods 里就会有一个事件函数 edit(row){},
如果我们用UI框架,那么匹配的就会得到一个id ,不然就要自己获取到id,
把这个id 通过
this.$router.push(name:'aaaaa', params:{id:row.id})
的方式传给另个页面了。
edit(row){
console.log('点击了查看看', row)
this.$router.push(
name:'aaaaa',
params:{id:row.id})
},
另个页面接收,建议在mounted 钩子函数中接收。。因为mounted 只加载一次
mounted() {
console.log(this.$route.params)
//在data中可以设置全局的接收传过来的参数进行赋值,建议这样,这样比较好操作。
通过this.$route.params传过来什么你直接赋值就行
this.id = this.$route.params.id
this.name = this.$route.params.name
}