子组件跨级向父组件发消息 源码:node_modules\element-ui\lib\mixins\emitter:
dispatch: function dispatch(componentName, eventName, params) {
var parent = this.$parent || this.$root;
var name = parent.$options.componentName;
while (parent && (!name || name !== componentName)) {
parent = parent.$parent;
if (parent) {
name = parent.$options.componentName;
}
}
if (parent) {
parent.$emit.apply(parent, [eventName].concat(params));
}
}
子组件:
this.dispatch('componentName', 'eventName', [params])
父组件:
export default{
componentName: "componentName",
}
this.$on('eventName', (params) => {
// do sth
})