123456789101112131415161718192021222324252627282930313233343536 |
- "use strict";
- exports.__esModule = true;
- function _broadcast(componentName, eventName, params) {
- this.$children.forEach(function (child) {
- var name = child.$options.componentName;
- if (name === componentName) {
- child.$emit.apply(child, [eventName].concat(params));
- } else {
- _broadcast.apply(child, [componentName, eventName].concat([params]));
- }
- });
- }
- exports.default = {
- methods: {
- 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));
- }
- },
- broadcast: function broadcast(componentName, eventName, params) {
- _broadcast.call(this, componentName, eventName, params);
- }
- }
- };
|