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

Подскажите вкратце, $ref использовать это плохой тон или норма? Я

юзаю для диалоговых окон, типа $refs.client.open(id), а другой чувак говорит что это плохо

9 ответов

22 просмотра

В этом случае лучше так не делать. Это нормальный подход, но если вы используете его слишком часто, то что-то не так с архитектурой

Сергей-В. Автор вопроса
Артем 🇺🇦 Бондаренко
В этом случае лучше так не делать. Это нормальный ...

ну я везде в диалогах кастомных его использую, а как лучше тогда? я пробовал пропсы+watch, казалось это костыль. А явный метод open() выглядит лучше

Сергей В.
ну я везде в диалогах кастомных его использую, а к...

Вариантов много. Я видел вариантов реализации нечётную кучу для модалок. Как вариант можно закидывать пропросм open и потом события эмитить

Сергей-В. Автор вопроса
Артем 🇺🇦 Бондаренко
Вариантов много. Я видел вариантов реализации нечё...

ну это же хреново, для пропса надо заводить в родительском компоненте отдельную переменную в data и получается сильная связь, надо эту переменную везде не забывать добавлять отдельно от компонента. А через $refs просто вызвал open() в любом месте и всё

Сергей В.
ну это же хреново, для пропса надо заводить в роди...

Из того что нравилось, есть один вариант, но он имеет ограничения. Если все модалки открываются по клику, то создать компонент с двумя слотам - первый, то на что нужно нажать, второй - что должно быть в модалке. Внутри компонента флаг open и потом просто то что нужно в слоты кидаешь

Сергей В.
ну это же хреново, для пропса надо заводить в роди...

У Vue основная идея - у нас есть состояние, которое Vue превращает в html. И вот про модалку по идеологии тоже нужно состояние: открыта модалка или нет

Сергей-В. Автор вопроса
Vite4eg
У Vue основная идея - у нас есть состояние, которо...

тогда внутри компонента надо писать watch на пропс, а это много вотчей это тоже плохая практика . И во внешнем компоненте надо не забыть отдельную переменную добавить под состояние каждого диалога

Сергей В.
ну это же хреново, для пропса надо заводить в роди...

так и тут проблемы не лучше 1. Нужно именовать ref, и помнить его название. 2. Сложно понять в родителе текущий статус модалки. 3. refs инициализируется не сразу. можно попасть на undefined 4. отрефакторил модалку и сломалось 100500 мест, где используется контекст через refs ... и тд итп

Сергей-В. Автор вопроса
Serge
так и тут проблемы не лучше 1. Нужно именовать r...

нет, ни одной этой проблемы нету: 1. помнить надо любую переменную которая больше чем в 1 месте используется 2. А родителю как раз не нужно знать состояние модалки, она себя изнутри закрывает, а родитель только вызывает $refs.dialog.open() по клику 3. не актуально, т.к. окно открывается когда уже все отрисовано, юзер же жмет кнопку например 4. модалка как раз не знает как она называется извне, ее рефакторинг никак на родителя не влияет. Если не изменить метод open конечно

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта