Size: a a a

Nuxt.js | Vue SSR

2021 May 09

M

Maxmudjon in Nuxt.js | Vue SSR
😅
источник

М

Михаил in Nuxt.js | Vue SSR
Привет!
Хочу добавить свой кастомный плагин для нотификаций, но не совсем понимаю как я могу встроить в dom сам компонент нотификации при вызове плагина.

Видел пока только варианты с работой внутри плагина через стор и встраиванием в глобальный лэйаут этого компонента. Но такой подход мне не очень нравится. Есть ли какой вариант сделать так как я хочу?
источник

MK

Maxim Kostenko in Nuxt.js | Vue SSR
vue-portal
источник

М

Михаил in Nuxt.js | Vue SSR
А как тогда portal-target прописать в самом плагине?
источник

MK

Maxim Kostenko in Nuxt.js | Vue SSR
Можно вообще не делать из этого плагин а вставлять через v-if где нужно

Второй вариант
https://portal-vue.linusb.org/api/wormhole.html#methods
источник

A

Aquinary in Nuxt.js | Vue SSR
Так и сделал
Но всё равно бомбит
Ерунда какая-то выходит,  спрашиваю у них в дискорде уже и в ответ тишина
Дико раздражает, хер поймёшь что не так и что конкретно надо сделать чтобы заработало
Хотя казалось бы вроде как офф. дискорд нукста и канал им отдельный выделили
источник

Д

Деда in Nuxt.js | Vue SSR
Никто не кому не должен
источник

М

Михаил in Nuxt.js | Vue SSR
через v-if не хочется
придется дублировать компонент нотификации каждый раз
хочется более универсально сделать как в либах некоторых
источник

М

Михаил in Nuxt.js | Vue SSR
чтобы просто обратиться раз где нибудь this.$notification(...) и все работает
источник

Д

Деда in Nuxt.js | Vue SSR
Вставь в лейаут компонент, через $notification вызывай
источник

М

Михаил in Nuxt.js | Vue SSR
это да...
но у меня несколько лэйаутов
источник

М

Михаил in Nuxt.js | Vue SSR
придется опять же в каждый вставлять
источник

М

Михаил in Nuxt.js | Vue SSR
это не то чтобы прям большая боль, но просто самому интересно как сделать более правильно
источник

Д

Деда in Nuxt.js | Vue SSR
источник

Д

Деда in Nuxt.js | Vue SSR
Глянь пример
источник

Д

Деда in Nuxt.js | Vue SSR
Ну вставь во все лейауты, не 20 же их
источник

М

Михаил in Nuxt.js | Vue SSR
ладно, может и правда просто залезть в какую-нибудь либу и посмотреть как там сделано
спасибо
источник

Д

Деда in Nuxt.js | Vue SSR
Если не хочется так то при инциализации генери свой wrapper и крепи к body
источник

MK

Maxim Kostenko in Nuxt.js | Vue SSR
openNotification(notificationText) {
   
const VueInstance = new Vue();
   
const notificationVNode = VueInstance.$createElement(
       notificationComponent, {
       
props: {
           
text: notificationText
       }
   });
   Wormhole.
open({
       
to: 'notification-host-target',
       
from: 'notification-source',
       
passengers: [notificationVNode]
   });
}
источник

М

Михаил in Nuxt.js | Vue SSR
о, спасибо
выглядит именно так как я хотел
источник