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

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

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

9 ответов

10 просмотров

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

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

ну я везде в диалогах кастомных его использую, а как лучше тогда? я пробовал пропсы+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 конечно

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
22
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта