@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 в виде кода?
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro
frontend developer
а v-if на template?

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

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

Войти через центр авторизации
Похожие вопросы