@aLeXxX_03

Как использовать директиву V-Click-Outside?

У меня есть компонент, который находится внутри другого компонента.

Т.е. есть компонент-родитель и элемент-потомок.
Внутри компонента-потомка есть кнопка меню, по нажатию на которую открывается меню сайта.
По нажатию этой же кнопки закрывается меню.

Но нужно сделать так, чтобы при клике за пределами компонента-потомка, т.е. при клике по родительскому компоненту происходило закрытие меню.
Т.е. закрытие и по кнопке меню, и по компоненту-родителю.

Как это сделать?

Я нашел, что нужно сделать вот так:
spoiler

v-show="show"
    v-click-outside="onClickOutside"
- вставить в div-потомок, что я и сделал.
А так же добавить в компоненте-потомке:
export default {
  data() {
    return {
      show: true
    };
  },
  methods: {
    onClickOutside() {
      this.show = false;
    }
  }
};


Я все, что в спойлере вставил в компонент-потомок, но это не сработало. Т.е. при клике по тому, что вне кнопки-меню и компонента-потомка - ничего не происходит.
Т.е. при клике по свободному месту на экране меню не закрывается.

ЧТО Я ДЕЛАЮ НЕ ТАК?

С меня благодарность.
  • Вопрос задан
  • 656 просмотров
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Я нашел, что нужно сделать вот так

Там где это написано есть ещё информация. Рекомендую ознакомиться.
Кстати по вашей ссылке можно и к демке перейти. Там увидеть магические строки:
import vco from "v-click-outside";

Vue.use(vco);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы