Vue学习笔记4.5 非父子组件之间的数据传递(bus机制/订阅者模式/观察者模式)
2019-01-24 14:02
826 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soulwyb/article/details/86625727
看注释 有步骤
[code]<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>非父子组件数据传递</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="vue.js"></script> </head> <body> <div id='app'> <child content="Dell"></child> <child content="Lee"></child> </div> </body> <script> // 1.通过总线机制来传递数据(好像页脚观察者模式) Vue.prototype.bus = new Vue() Vue.component('child', { props: { content: String }, // 2.子组件不能直接修改父组件传递过来的数据 所以赋值给自定义的变量规避 data: function() { return { selfContent: this.content } }, template: '<div @click="handleClick">{{selfContent}}</div>', methods: { handleClick: function() { // 3.通过bus总线的$emit事件触发进行传递 this.bus.$emit('change', this.selfContent) } }, // 4.使用生命周期函数mounted钩子来监听'change'事件进行数据的修改 mounted: function() { // 5.这里要注意 在函数中的this指向的已经不是原来的this 所以需要复制下然后在$on使用 var this_ = this this.bus.$on('change', function(msg) { this_.selfContent = msg }) } }) var vm = new Vue({ el: '#app' }) </script> </html>
相关文章推荐
- vue 父子组件之间的数据传递
- React Native学习笔记之--组件之间数据的传递和跳转
- vue学习一 组件之间的数据传递
- vue学习记录——父子组件间传递数据
- WEB前端 vue学习二 组件之间的数据传递
- vue.js 学习之组件之间数据传递详解
- Vue 2.0学习笔记:组件数据传递
- vue学习18:非父子组件间的传值(bus/总线/发布订阅者模式/观擦者模式)
- vue.js---父子组件之间简单的数据传递
- Vue 爬坑之路(二)—— 组件之间的数据传递
- vue2.0 组件之间的数据传递
- 关于vue.js父子组件数据传递
- vue.js 组件之间传递数据
- IOS开发基础教程学习笔记4 在storyboard的场景之间传递数据
- vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由
- Vue笔记2 父子组件的数据通信
- vue父子组件的数据传递
- vue项目组件之间的数据传递
- Angular2父子组件之间数据传递:@ViewChild获取子组件
- Angular2父子组件之间数据传递:父子组件共享服务通信