VUE 组件间通信
程序员文章站
2022-09-04 18:30:50
1. 父传子 2. 子传父 3. 兄弟相传 ......
- 父传子
// 父组件 <note-address :data="msg"></note-address> //子组件 <div>{{ data.partment }}</div> export default { //props:['data'] props: { data: object } }
- 子传父
//父组件 <note-address @new="addnote"></note-address> //子组件 <button type="small" class="confirm" @click="add">设为教案</button> methods: { add () { this.$emit('new', false) } }
- 兄弟相传
1.创建 公共bus.js //bus.js import vue from 'vue' export default new vue() 2.父组件注册两个子组件 components:{ firstchild, secondchild } 3.firstchild组件 <input type="button" value="点击触发" @click="elementbyvalue"> <script> // 引入公共的bug,来做为中间传达的工具 import bus from './bus.js' export default { methods: { elementbyvalue: function () { bus.$emit('val', '兄弟,收到了吗?') } } } </script> 4.secondchild组件 <span>{{msg}}</span> <script> // 引入公共的bug,来做为中间传达的工具 import bus from './bus.js' export default { mounted(){ let self = this; bus.$on('val', function (msg) { console.log(msg) self.msg = msg }) } } } </script>
上一篇: 为什么企业依赖于 NoSQL
下一篇: 正则匹配身份证有bug你知道么?