加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

详解vuejs几种不同组件(页面)间传值的方式

发布时间:2020-12-17 02:56:20 所属栏目:百科 来源:网络整理
导读:在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值。 一、路由传值 路由对象如下图所示: 在跳转页面的时候,在js代码中的操作如下,在标签中使用 标签 name: 'routePage',query/params: { routeParams: params } }) 需要注意的是,

在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值。

一、路由传值

路由对象如下图所示:

在跳转页面的时候,在js代码中的操作如下,在标签中使用标签

name: 'routePage',query/params: { routeParams: params } })

需要注意的是,实用params去传值的时候,在页面刷新时,参数会消失,用query则不会有这个问题。

这样使用起来很方便,但url会变得很长,而且如果不是使用路由跳转的界面无法使用。

二、通过$parent,$chlidren等方法调取用层级关系的组件内的数据和方法

通过下面的方法调用:

this.$children.$data.id //获取父元素data中的id

这样用起来比较灵活,但是容易造成代码耦合性太强,导致维护困难

三、通过eventBus传递数据

使用前可以在全局定义一个eventBus

在需要传递参数的组件中,定义一个emit发送需要传递的值,键名可以自己定义(可以为对象)

在需要接受参数的组件重,用on接受该值(或对象)

eventBus.$on('eventBusName',function(val) {console.log(val)})

最后记住要在beforeDestroy()中关闭这个eventBus

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读