#vue.js #vuejs2 #vue-component
#vue.js #vuejs2 #vue-компонент
Вопрос:
Я хочу спросить вас, возможно ли это внутри VUE.Компонент JS ‘A’, для вызова метода другого VUE.JS-компонент ‘B’, который использует компонент ‘A’.
Спасибо
Комментарии:
1. Вы имеете в виду, что вы хотите запустить метод из дочернего компонента в родительском компоненте? Есть несколько способов сделать это, я обычно получаю доступ к методам дочернего компонента, задав ссылку, после чего вы получаете доступ к области компонентов с помощью этого.$refs [‘имя компонента’]
2. Я хочу запустить метод родительского компонента в дочернем компоненте
Ответ №1:
Вы можете сделать это с помощью $emit . https://v2.vuejs.org/v2/guide/components-custom-events.html
Например, скажем, у вашего дочернего компонента есть кнопка удаления, чтобы удалить его с родительской страницы:
<span title="remove" v-on:click="$emit('delete')">x</span>
Здесь я использовал v-on: нажмите, чтобы отправить пользовательское событие до родительского компонента. https://v2.vuejs.org/v2/guide/events.html
В родительском компоненте мы прослушиваем это событие и запускаем некоторую функцию, определенную там, когда происходит событие:
<your-componet @delete="removeMe"/>
(@ является сокращением для директивы v-on:)
В ваших методах в родительском компоненте вы должны определить функцию removeMe:
methods :{
removeMe () {
// code to delete
}
}