我一直在搜索信息,并且只找到了一种从子组件发出事件的方法,然后可以在父组件中监听这些事件。有没有办法从父组件调用子方法?
原文由 naneri 发布,翻译遵循 CC BY-SA 4.0 许可协议
我一直在搜索信息,并且只找到了一种从子组件发出事件的方法,然后可以在父组件中监听这些事件。有没有办法从父组件调用子方法?
原文由 naneri 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为一个好的模式是从父组件发出一个事件并在子组件中使用 Event Bus 监听它。
那将是:
在 main.js 中
export const bus = new Vue()
在 Parent.vue 中:
import {bus} from 'path/to/main'
// Where you wanna call the child's method:
bus.$emit('customEventName', optionalParameter)
在 Child.vue 中:
import {bus} from 'path/to/main'
// Add this to the mounted() method in your component options object:
bus.$on('customEventName', this.methodYouWannaCall)
原文由 bformet 发布,翻译遵循 CC BY-SA 4.0 许可协议
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.1k 阅读
2 回答1.2k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
是的,只需在 children 数组中找到您的组件,或者通过 ref 属性获取它,然后调用方法 :) ref doc
假设您的子组件具有方法 x。根据文档: