这篇文章主要为大家详细介绍了分析vuejs几种不同组件(页面)间传值的方式,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值。
路由对象如下图所示:
在跳转页面的时候,在js代码中的操作如下,在标签中使用<router-link>标签
代码如下:
this.$router.push({
name: 'routePage',
query/params: {
routeParams: params
}
})
需要注意的是,实用params去传值的时候,在页面刷新时,参数会消失,用query则不会有这个问题。
这样使用起来很方便,但url会变得很长,而且如果不是使用路由跳转的界面无法使用。
通过下面的方法调用:
代码如下:
this.$parent.$data.id //获取父元素data中的id
this.$children.$data.id //获取父元素data中的id
这样用起来比较灵活,但是容易造成代码耦合性太强,导致维护困难
使用前可以在全局定义一个eventBus
代码如下:
window.eventBus = new Vue();
在需要传递参数的组件中,定义一个emit发送需要传递的值,键名可以自己定义(可以为对象)
代码如下:
eventBus.$emit('eventBusName', id);
在需要接受参数的组件重,用on接受该值(或对象)
代码如下:
//val即为传递过来的值
eventBus.$on('eventBusName', function(val) {console.log(val)})
最后记住要在beforeDestroy()中关闭这个eventBus
代码如下:
eventBus.$off('eventBusName');
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/3455-0.html
注:关于分析vuejs几种不同组件(页面)间传值的方式的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。