我们都知道,vue是单向流,但是有时候我们需要在父组件中主动通知子组件一些信息,使其做出一些响应变化,那么如何在父组件中去主动调用子组件的方法呢?Vue当然给我们提供了方法,如下:
- 首先在子组件中进行事件广播
created: function(){
this.$on('handleChange', function(){
console.log('something handled!');
});
}
- 在父组件中指定子组件的ref,如
child
,然后通过一下方式调用:
this.$refs['child'].$emit('handleChange');
核心还是事件的分发及相应:$on
、$emit
。
网友评论