методы теперь использовать из другого компонента? на Vue.toast(…) ругается. Ранее это был отдельный Vue-инстанс со своей переменной notifications, поэтому работало через нее: notifications.toast(…)
Vue.prototype.toast
та же история: TypeError: Vue.prototype.toast is not a function
ну так а что ты подключал и куда, чтобы вью узнал о тосте? обычно это плагин, компонент тут ни при чем
Подключаю в app.js. Это мой компонент, в нем обертки для разных toast
я понял, в таком случае тебе нужен плагин
А без плагина через только события реализовывать?
плагин - самый простой и правильный способ посмотри, как делают всякие либы тостов для вью
Часто их делают с шиной
возможно, но мне такое чет не попадалось, почти всегда видел плагинами
Это смешивание разных вещей. Почти любая библиотека для Vue - это плагин. Плагин - просто унифицированный способ описания инициализации чего-то для Vue. Патчинг прототипа != плагин, хоть плагины и делают часто именно это. Но даже это не определяет, как именно некоторый модуль будет связываться с непосредственно экземпляром компонента. По этому многие библиотеки с тостами - это плагины, которые расширяют прототип, добавляя туда модуль, через шину общающийся с тостером :)
с vue мало работал, ищу сейчас как создать плагин… пропсы и data() туда тоже можно перенести или нет? у меня в mounted() тоже toast вызывается если переменная в data не пустая
с этим я согласен, но надо смотреть, что именно человек написать, чтобы понять, нужно ли там юзать шину или нет в любом случае, плагин ему для этого понадобится
Я не говорил, что нужна шина) Только сказал, что большинство (все, что я видел) тостеры открытые популярные её юзают. Плагин сам по себе вообще не может быть обязательным. Он не влияет на то, как что-то используется. Только на то, как "включается". С плагином - Vue.use(plugin). Без - любой другой способ, какой придумает разработчик, от new Toaster().init() до import './toaster'
само собой, но во вью принято такие вещи делать через плагины, как минимум для единого стиля) ну и в доке уже подробно описано, что и как нужно сделать, чтобы все подключилось, разработчику не нужно изобретать велосипед для этого
Это в первую очередь для библиотек. Внутренние модули можно делать и свои удобным для себя велосипедом
я бы предпочел тост через плагин сделать, как по мне, это было бы удобнее всего а ты бы как сделал?)
Предпочтения - это один вопрос. А "в любом случае нужен" - другой) Потому что нет, не нужен, он не несёт функциональности в тостер, только в инициализацию. Я бы сделал или плагином, или обычным модулем
Обсуждают сегодня