vue非父子组件间的传值 Bus/总线机制/发布订阅模式/观察者模式 清疚 2022-04-22 05:56 171阅读 0赞 Bus/总线机制/发布订阅模式/观察者模式 我们需要将一个组件的子组件的数据传递给另一个组件的子组件 ① 将Vue的实例赋值给Vue.prototype.bus,这样只要我们之后调用new Vue()或者创建组件的时候,每一个组件上都会有Bus这个属性,因为每一个组件或者Vue这个实例都是通过Vue这个类来创建的,而我们在Vue的类上挂了一个Bus的属性,而且挂在Vue类的prototype上面,所有每一个通过Vue创建的,也就是Vue的实例上都会有Bus这个属性,它都指向同一个Vue的实例。 ②在子组件里面绑定一个点击事件,如 @click="handleClick", ③在此提交一个自定义事件 如: this.bus.$emit('change',this.selfContent) ④在父组件中使用$on监听bus上触发出来事件 var this\_ = this; // this作用域发生了变化,所以在这里做一次保存 this.bus.$on('change',function(msg)\{ this\_.selfContent = msg; \}) ⑤改变父组件接收过来的数据,要做一次备份,才方便修改,因为vue里面是单向数据流,子组件不能改变父组件,如下: data: function()\{ return \{ selfContent: this.content \} \}, <body> <div id="app"> <child content="hello"></child> <child content="world"></child> </div> <script> Vue.prototype.bus = new Vue() Vue.component('child', { props: ['content'], data: function(){ return { selfContent: this.content } }, template: '<div @click="handleClick">{ {selfContent}}</div>', methods:{ handleClick: function(){ this.bus.$emit('change',this.selfContent) } }, mounted: function(){ var this_ = this; this.bus.$on('change',function(msg){ this_.selfContent = msg; }) } }) var vm = new Vue({ el: "#app" }) </script> </body>
相关 Vue - 组件传值(父子组件间传值、非父子组件间传值) 推荐:[Vue汇总][Vue] Vue - 组件传值(父子组件间传值、非父子组件间传值) 如果你对组件不太了解,推荐你先阅读它:[Vue - Vue组件基础][Vue 我就是我/ 2022年12月21日 11:00/ 0 赞/ 357 阅读
相关 Vue_非父子组件间的传值(Vuex和发布订阅模式) 我们知道父子组件之间的传值,父向子用props传值,子向父用自定义事件传值,那么肥父子组件的传值如何实现?比如说1和3 ,3和3之间? ![这里写图片描述][70] 通 小咪咪/ 2022年05月22日 13:35/ 0 赞/ 225 阅读
相关 观察者模式(发布-订阅者模式) 观察者模式定义了一种依赖关系,解决了主体对象和观察者之间功能的耦合,主要应用于大型项目的模块化开发中,解决团队开发中模块之间的通信问题,利用观察者模式还可以实现自定义事件。 素颜马尾好姑娘i/ 2022年05月22日 06:00/ 0 赞/ 249 阅读
相关 vue使用发布&订阅模式再非父子组件间传值 Vue中可以通过广播的方式进行非父子组件间传值,具体方法如下 第一,在Vue的原型上挂载一个Vue实例。 Vue.prototype.bus = new Vue() 梦里梦外;/ 2022年05月12日 04:00/ 0 赞/ 183 阅读
相关 vue 非父子组件之间传值 bus / 总线 一、在Vue 的原型中创建一个属性 bus Vue.prototype.bus=new Vue(); 二、子组件中绑定事件 比如叫 handleClick, 灰太狼/ 2022年05月11日 08:00/ 0 赞/ 288 阅读
相关 javascript 观察者模式 发布订阅模式 观察者模式 观察者模式,每一个观察者对象有两个方法 添加监听`subscribe` 发布事件`publish` 观察者有个`list`存放所有的已经添加监 本是古典 何须时尚/ 2022年04月24日 10:14/ 0 赞/ 243 阅读
相关 Vue学习笔记4.5 非父子组件之间的数据传递(bus机制/订阅者模式/观察者模式) 看注释 有步骤 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> 浅浅的花香味﹌/ 2022年04月23日 05:52/ 0 赞/ 117 阅读
相关 vue非父子组件间的传值 Bus/总线机制/发布订阅模式/观察者模式 Bus/总线机制/发布订阅模式/观察者模式 我们需要将一个组件的子组件的数据传递给另一个组件的子组件 ① 将Vue的实例赋值给Vue.prototype.bus,这样只要我 清疚/ 2022年04月22日 05:56/ 0 赞/ 172 阅读
相关 发布订阅模式(观察者模式) 设计模式的目的就是使类成为可复用的组件。 在观察者模式中观察者接口只注重被观察者,而被观察者接口只注重观察者,具体是观察者接口实现类中的哪一个并不在意,而被观察者也是如此。这 清疚/ 2021年12月15日 00:27/ 0 赞/ 326 阅读
还没有评论,来说两句吧...