vue组件之间的通信
2018-03-14 12:59
417 查看
7、vue 组件之间的通信提示:情况一:组件很多,且通信复杂 => 建议使用vuex;
情况二:组件不多 => 建议使用事件触发$emit 和监听 $on;
主要介绍情况二:7.1 兄弟组件(或者 完全不相关的组件)创建事件中心(即new vue())let Hub = new Vue();组件1:触发Hub.$emit('myClick'[, param ...]);组件2:监听Hub.$on('myClick', (param) => {console.log(param)});
7.2 父子组件事件子组件触发父组件中的事件子组件child 触发:let vm = this;vm.$emit("myClick"[, param ...]); 或者 vm.$emit("my-click"[, param ...]);父组件parent 监听:<child @myClick="handleClick"></child>handleClick(param1) {console.log(param)}; // 接收参数param1
父组件调用子组件中的事件<child ref="child"></child>callChildEvent() {let vm = this;vm.$refs.child.childEvent();}
数据父组件调用子组件数据<child ref="child"></child>callChildEvent() {let vm = this;vm.$refs.child.childData;}
父组件向子组件传递数据父:<child :pass-data="passData"></child>子:三种方式接收数据A1:props: ['passData']A2:props: {passData: String} // 需要制定类型A3:props: {passData: {type: String, default: '123'}} // 需要制定默认值
情况二:组件不多 => 建议使用事件触发$emit 和监听 $on;
主要介绍情况二:7.1 兄弟组件(或者 完全不相关的组件)创建事件中心(即new vue())let Hub = new Vue();组件1:触发Hub.$emit('myClick'[, param ...]);组件2:监听Hub.$on('myClick', (param) => {console.log(param)});
7.2 父子组件事件子组件触发父组件中的事件子组件child 触发:let vm = this;vm.$emit("myClick"[, param ...]); 或者 vm.$emit("my-click"[, param ...]);父组件parent 监听:<child @myClick="handleClick"></child>handleClick(param1) {console.log(param)}; // 接收参数param1
父组件调用子组件中的事件<child ref="child"></child>callChildEvent() {let vm = this;vm.$refs.child.childEvent();}
数据父组件调用子组件数据<child ref="child"></child>callChildEvent() {let vm = this;vm.$refs.child.childData;}
父组件向子组件传递数据父:<child :pass-data="passData"></child>子:三种方式接收数据A1:props: ['passData']A2:props: {passData: String} // 需要制定类型A3:props: {passData: {type: String, default: '123'}} // 需要制定默认值
相关文章推荐
- Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信
- Vue2.0 父子组件之间通信
- Vue.js组件之同级之间的通信
- Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
- vue父子组件之间的通信
- vue 父子组件之间的通信 props
- vue组件之间的通信-父→子
- Vue2.0组件之间通信(转载)
- Vue父子组件之间的通信实例详解
- Vue2.0组件之间通信
- vue.js组件与组件之间的通信
- vue2.0组件之间的通信
- vue组件之间的多种通信方法
- vuex 管理组件之间的通信
- vue 同级组件之间的通信
- vue组件之间的通信
- vue组件之间的多种通信方法
- vue中组件之间相互通信(一)
- Vue2.0组件之间通信
- Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信