lina666
@lina666
Изучаю веб ЯП.

Как задекларировать директиву vue?

Есть плагин 'v-click-outside' который добавляет кастомную директиву, пытаюсь его подключить
declare module 'vue/types/vue' {
  interface Vue {
    vClickOutside: () => void;
  }
}
import vClickOutside from 'v-click-outside';


Если работать с плагинами то такой метод работал c плагином и миксином Как сделать свой плагин для Vue2 если проект на TypeScript?, мне помогли с ответом, потом я уже в доке нашел как нужно реализовывать поддержку TypeScript во Vue
https://ru.vuejs.org/v2/guide/typescript.html
Но как задекларировать директиву я понять не могу, хоть убейте.
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Если нужно расширить существующий интерфейс Vue своими элементами, то положите в корень проекта файл .d.ts имя которого не совпадает с другими файлами.
import 'vue'; // нужно чтоб слинковаться с базовыми модулем и интерфейсом
declare module 'vue' { // расширяем модуль
  import vClickOutside from 'v-click-outside'; // подключаем типы плагина
  interface Vue { // расширяем интерфейс
    // прописываем нужные расширения
    vClickOutside(): typeof vClickOutside;
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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