Vue——任意组件间的通信
2017-09-30 10:20
267 查看
思路
核心方法
$emit() 触发事件 $on() 监听事件
核心思路
定义一个调度器,其实就是new一个Vue。让这个调度器承载事件,也就是使用上面的两个方法。
实例
HTML <tim></tim> <chen></chen> JS //第四步,定义一个调度器 var Event = new Vue(); //负责说 Vue.component('tim',{ template:`<div> // 第一步,定义了一个keyup事件,触发on_change函数,绑定i_said变量 我说: <input @keyup="on_change" v-model="i_said"> </div>`, methods: { //第三步,定义on_change函数 on_change: function(){ //第五步,使用$emit,定义调度器触发事件 // 事件名称 参数 Event.$emit('tim-said-sth', this.i_said) } }, data: function (){ return { //第二步,定义i_said默认为空 i_said: '', } } }); //负责听 Vue.component('chen',{ template: `<div> //第一步,在这里显示最终传过来的数据 tim说 {{tim_said}} </div> `, data: function () { return { //第二步,默认数据为空 tim_said: '', } }, //初始化完毕后 mounted: function (){ // 第三步,让this执行这个组件,而不是调度器 var me = this; //第四步,监听上面那个组件的事件,并且把上面的数据传入回调函数 Event.$on('tim-said-sth',function(data){ //第五步,绑定数据 me.tim_said = data; }) } }); new Vue({ el:'#app' })
相关文章推荐
- vue2.0--组件通信(非vuex法)
- Vue 父子组件、组件间通信
- 深入探讨Vue.js组件和组件通信
- vue的props和$emit / 父子组件通信
- 详解Vue 非父子组件通信方法(非Vuex)
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
- vue.js父子组件通信动态绑定的实例
- vue组件之间的通信
- vue中组件之间相互通信(一)
- vue2.0组件之间如何通信
- vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例
- vue2.0父子组件间通信
- vue2.0父子组件以及非父子组件通信
- 关于Vue父子组件之间的通信
- vue 非父子组件通信
- vue2.0之父子组件通信的理解
- vue组件父与子通信详解(一)
- vue.js入门(3)——组件通信
- Vue 父组件与子组件之间的通信
- Vue中父组件向子组件通信