vue组件中的数据共享
1.父组件向子组件中传送数据
方法:使用自定义属性,即在子组件中利用props接收父组件中利用自定义属性传过来的值
在这里请注意 需要用v-bind绑定自定义属性进行传值,否者传过来的是字符串。
<Left :mes="message" :ages="age"></Left>
上述代码如果mes不绑定的话 子组件收到的就是“message”这个字符串
2.子组件向父组件传送数据
方法:使用自定义函数,即在子组件中用$emit进行触发自定义函数this.$emit("自定义事件名",要传输的数据);父组件中绑定这个自定义事件名 @自定义事件名=“处理函数";这个处理函数的参数就是传输过来的数据了。
3.兄弟之间数据共享
方法:利用eventBus共享
<1>创建eventBus.js,创建vue实例
<2>发送方:引入eventBus,利用bus.$emit("触发名",数据)发送数据
<3>接收方:引入eventBus,利用bus.$on("触发名",处理函数)接收函数,注意这个操作要写create中
//eventBus.js import Vue from "vue" export default new Vue()
注意:为啥要使用eventBus,他在这里相当于一个桥梁,沟通两个组件,并且他没有dom组件,只是实例化;为什么bus.$emit,bus.$on使用bus而不是this呢?
this这里只想当前组件的实例化,是两个独立的个体,不能触发相同事件。

浙公网安备 33010602011771号