vue 组件之间的传值以及方法调用
2019-04-16 10:32
537 查看
父子组件传值
父页面 引用子页面
// 父页面代码 <template> <div> <component-A :logo="logoMsg"></component-A> //logoMsg是父组件data里的值 </div> </template> <script> import componentA from './component-a.vue' export default { data() { return {} }, components: { 'component-A': componentA } } </script> // 子页面代码 <template> <div class="componentA"> <div>{{logo}}</div> </div> </template> <script> export default { props: ['logo'], // 获取父页面传来的值 data() { return {} } } </script>
子组件调用父组件方法并向父组件传值
// 父页面代码 <template> <div> <component-A :logo="logoMsg" @toParent="componenta"></component-A> //logoMsg是父组件data里的值 </div> </template> <script> import componentA from './component-a.vue' export default { data() { return {} }, components: { 'component-A': componentA }, methods: { componenta(data) { // data就是子组件传递过来的值 console.log(data) } } } </script> // 子页面代码 <template> <div class="componentA"> <div>{{logo}}</div> </div> </template> <script> export default { props: ['logo'], // 获取父页面传来的值 data() { return {} }, methods: { toParent() { this.$emit('toParent', '11111') // 调用父组件toParent方法,并传递参数 } } } </script>
兄弟组件传值
先子传父,再父传子
不相关组件传值
创建一个Vue的实例,让各个组件共用同一个事件机制。
传递数据方,通过一个事件触发eventVue.emit(方法名,传递的数据)。接收数据方,通过mounted()触发eventVue.emit(方法名,传递的数据)。 接收数据方,通过mounted(){}触发eventVue.emit(方法名,传递的数据)。接收数据方,通过mounted()触发eventVue.on(方法名,function(接收数据的参数){用该组件的数据接收传递过来的数据})
- 创建一个单独的js文件,eventVue.js:
import Vue from 'vue' export default new Vue()
// 组件A页面 <template> <div class="componentA"> </div> </template> <script> import eventVue './eventVue.js' export default { data() { return {} }, created(){ eventVue.$on('byBus', (data) => { // 组件A $on接受事件传递数据 this.busData = data }) }, methods: { } } </script> // 组件B页面 <template> <div class="componentB"> </div> </template> <script> import eventVue './eventVue.js' export default { data() { return {} }, methods: { byBus() { eventVue.$emit('byBus',this.byBusData) //组件B $emit触发事件 } } } </script>
相关文章推荐
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
- Vue ---父子组件之间互相传值与方法调用
- vue.js组件之间通讯--父组件调用子组件的一些方法,子组件暴露一些方法,让父组件调用
- 详解Vue组件插槽的使用以及调用组件内的方法
- vue父组件和子组件之间的传值及方法调用
- Vue兄弟组件之间如何调用对方的方法
- Vue父子组件互相调用方法
- vue生命周期函数以及组件之间的传值
- react子组件与父组件之间方法调用
- vuex 实现vue中多个组件之间数据同步以及数据共享。
- 微信小程序——父子组件传参以及方法的调用
- Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- vue2.0父子组件及非父子组件之间的通信方法
- Vue $emit $refs子父组件间方法的调用实例
- vue中父组件调用子组件的方法和属性
- vue2.0父子组件以及非父子组件之间通信
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验