Задать вопрос
@VladislavFisun

Как во vue 3 написать свою реализацию v-if?

я хочу написать свою директиву, которая в зависимости от аргумента не будет позволять монтироваться элементу как это делает v-if, но я столкнулся с такой проблемой, что vue дает элементу смонтироваться и только потом удаляет, как не позволить vue смонтировать этот элемент, в голову приходит только удаление из виртуального дома но я пока не понял как это можно реализовать
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.directive('auth', {
    beforeMount(el, binding, vnode) {
      const condition = binding.value;
      console.log(vnode);
      if (!condition) {
        vnode.el = [];
      }
    },
  });
});

upd: вообще возможно ли где-то посмотреть реализацию v-if в виде кода?
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Stepik
    Игра на Vue.js
    1 неделя
    Далее
  • OTUS
    Vue.js разработчик
    4 месяца
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro
frontend developer
а v-if на template?

<template v-if="cond">
  <div>  <!-- не будет смонтирован -->
  </div>
</template>
Ответ написан
Ваш ответ на вопрос

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

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