дочернее родительское событие - PullRequest
0 голосов
/ 11 июля 2019

написал код для отправки и получения события от потомка к родителю, но вместо получения события он показывает что-то еще

function (event) {
  var vm = this;
  if (true) {
    var lowerCaseEvent = event.toLowerCase();
    if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
      tip("Event \"" + lowerCaseEvent + "\" is emitted in component " + (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
        "Note that HTML attributes are case-insensitive and you cannot use " + "v-on to listen to camelCase events when using in-DOM templates. " + "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\".");
    }
  }
  var cbs = vm._events[event];
  if (cbs) {
    cbs = cbs.length > 1 ? toArray(cbs) : cbs;
    var args = toArray(arguments, 1);
    var info = "event handler for \"" + event + "\"";
    for (var i = 0, l = cbs.length; i < l; i++) {
      invokeWithErrorHandling(cbs[i], vm, args, vm, info);
    }
  }
  return vm
}

проверил все коды в сети на наличие одинаковых

<template>
  <div id="app">
    <p>{{name}}</p>
    <Login v-on:datam="update($emit)"></Login>
  </div>
</template>
import Login from './views/Login.vue'

export default {
  name: 'app',
  components: {
    Login
  },
  methods: {
    update: function (ok1) {
      this.name = ok1;
    }
  }
}

1 Ответ

0 голосов
/ 12 июля 2019

Вы можете отправить событие, используя внешний файл события.так что это будет доступ ко всем вашим компонентам.

Сначала мы должны создать файл.имя event.js

import Vue from 'vue';

export default new Vue({
    data: {

    }
});

После этого вы должны импортировать этот event.js в ваши компоненты

import Event from "../event.js";

Затем вы можете создать событие для вашего компонента, как показано ниже

methods() {
  function yourMethod(){
    Event.$emit("fetchdata");
  }
}

В другом компоненте свойство mount должно быть таким, как показано ниже:

mounted() {
  Event.$on("fetchdata", group => {
    this.fetchData();
 });
},
methods() {
  function fetchData() {
     console.log('hoooray :)');
  }
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...