169 похожих чатов

Познаю вью3)) как сделать глобальный метод? во 2-ой версии делал

так `Vue.prototype.$firebase = firebase`/

18 ответов

15 просмотров

есть такое, но это плохая практика https://v3.vuejs.org/guide/migration/global-api.html#vue-prototype-replaced-by-config-globalproperties

Misha-Gezha Автор вопроса
Anton Permyakov
есть такое, но это плохая практика https://v3.vue...

Provide / Inject - получилось через них сделать)) спасибо!

а зачем тебе "глобальный метод"?

Misha-Gezha Автор вопроса
Nikolay
а зачем тебе "глобальный метод"?

чтобы в компонентах использовать firebase без импорта

Misha Gezha
чтобы в компонентах использовать firebase без импо...

Если ты пишешь не наколеночный пет-проект, то лучше так не делать

Misha-Gezha Автор вопроса
Nikolay
Если ты пишешь не наколеночный пет-проект, то лучш...

а посоветуй)) вообще наколеночный проект, но хотелось бы использовать бест практик

Всё +- то же самое, только немного по-другому

Misha Gezha
а посоветуй)) вообще наколеночный проект, но хотел...

Зависит от того, что ты хочешь сделать, как правило, у тебя есть 1 умный компонент, который взаимодействует с http клиентом, стором, заключает в себе бизнес-логику и передает данные дочерним презентационным компонентам (компонентам UI) и в реальности тебе не нужно чтобы каждый компонент в твоем проекте был тесно связан с той или иной API реализацией

Денис Саенко
А как же axios, vuex и прочие?

вот, в сообщении выше простейшая реализация

Nikolay
Зависит от того, что ты хочешь сделать, как правил...

В чём экономия, если эти "глобальные" объекты у каждого компонента суть есть ссылка на один и тот же объект?

Денис Саенко
В чём экономия, если эти "глобальные" объекты у ка...

Это не экономия, это компонентный подход, чем меньше компонент знает о том, в каком контексте он сущетсвует, тем более он переиспольуземый, это не говоря про DI и тестирование

Nikolay
Это не экономия, это компонентный подход, чем мень...

В целом согласен, просто не могу понять, почему глобальные функции это плохо, ибо если компонент их внутри себя не использует, то и есть они не просят. Никто же не заставляет реализовать компоненты таким образом, чтобы они самостоятельно стучались к стору или api, вместо прокидывания пропсов, если такая возможность имеется в рамках проекта

Денис Саенко
В целом согласен, просто не могу понять, почему гл...

потому что используя в компоненте условный $axios, ты смешиваешь слои данных и отображения

Anton Permyakov
потому что используя в компоненте условный $axios,...

Никто не заставляет тебя в условном itempicker'e дёргать axios

Денис Саенко
Никто не заставляет тебя в условном itempicker'e д...

не важно где ты его дергаешь, важно, что сама логика запроса протекает в компонент

Денис Саенко
В целом согласен, просто не могу понять, почему гл...

Целая пачка против: 1. Ты ломаешь архитектуру 2. Мы на работе работаем не по 1 челоеку на проект, и как ты будешь обрабатывать кейс, когда тебе коллега скажет - "вот тут, ты вместо того чтобы подумать закастылял глобальный доступ, почему я не могу?" и будет прав 3. Это антипаттерн 4. Это костыль. указывающий на то, что ты не знаешь как решить задачу корректным путем 5. Ты разрываешь прозрачное представление разделения логики / сервисов / вьюшки 6. etc...

Nikolay
Целая пачка против: 1. Ты ломаешь архитектуру 2. М...

Со вторым очень согласен, остальное работает только в том случае, если ты используешь логику, заложенную в эти объекты

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта