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

Как кратко заменить такую запись? Должен включаться один из трех

классов. Параметр size имеет 3 допустимых значения без любых иных.

25 ответов

8 просмотров

size === ' ' ? Истина : size === ' ' ? Истина : иначе

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

Cyrtolat- Автор вопроса

Компьютед не нужен, вынесите в опшины объект classBySize: { small: 'toggle-small', md: 'toggle-md', ... } В компоненте вот так :class="$options.classBySize[size] || ''" Имхо значительно лучше чем три странных равенства

¿Сергей?
Компьютед не нужен, вынесите в опшины объект clas...

а зачем пихать объект с классами в опции, если для этого есть computed?

¿Сергей?
Там нету реактивности, это константа

и зачем здесь отсутствие реактивности, если она тут нужна?

Artyom Tuchkov
и зачем здесь отсутствие реактивности, если она ту...

Если мы говорим об объекте с опциями, там нету никакой реактивности Если использовать так, как я там описал, реактивность будет Можно и компьютед заюзать, но так будет больше кода, тут на вкус и цвет

bohdan 🇺🇦
в компьютед вынеси логику, и ставь класс через нег...

Computed не принимает параметры, в этом случае лучше использовать метод который будет принимать параметр size и возвращать название класса

¿Сергей?
Если мы говорим об объекте с опциями, там нету ник...

смена класса на основе реактивных данных - это как раз то, с чем прекрасно справляется computed таких объектов может быть не 1, а, например, 3, и хранить их в $options довольно странно, на мой взгляд

computed classes, который возвращает массив классов в виде строк если передано this.size, тогда в массив добавляется строка 'toggle-${this.size}' далее просто в шаблоне :class="classes"

Artyom Tuchkov
смена класса на основе реактивных данных - это как...

Покажите мне где в объекте с классами реактивность Например вот в этом classBySize: { small: 'toggle-small', md: 'toggle-md' }

¿Сергей?
Покажите мне где в объекте с классами реактивность...

Хорошо, вот разница, сразу опишу Нереактивно, должно быть в $options ``` classBySize: { small: 'toggle-small', md: 'toggle-md' } Реактивно, нужно выносить в компьютед по-хорошему, но точно не в $options classBySize: { small: this.dynamicCLass1, md: this.dynamicCLass2 } ```

¿Сергей?
Покажите мне где в объекте с классами реактивность...

ну так computed нужно и писать иначе, ты хранишь просто маппер значений на классы, ничто не мешает тебе написать computed с учетом реактивного значения return { ‘toggle-small’: this.size === ‘small’, ‘toggle-md’: this.size === ‘md’, }; можно хоть через one-line if, хоть через switch это написать, на что фантазии хватит

Dmitry
computed classes, который возвращает массив классо...

Не совсем подойдет, там size - строка, нескольких классов сразу не сможет быть

¿Сергей?
Чем ваш подход лучше маппинга?

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

¿Сергей?
Третий пункт - вы абсолютно не правы :)

Это как раз то место, куда можно и нужно складывать статику/константы

Dmitry
почему?

size не может быть сразу medium и small, поэтому класс в данном случае будет всегда один

¿Сергей?
size не может быть сразу medium и small, поэтому к...

computed среагирует только один раз, на одно значение size, о каком множестве вы говорите?

¿Сергей?
Это как раз то место, куда можно и нужно складыват...

в чем цель переизобретения велосипеда, какой профит это дает? представь, что у тебя таких 5 объектов, ты их все будешь складывать в корневой объект? я уже не говорю о том, что условия отображения классов могут быть несколько сложнее или на основе других зависимостей

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

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

Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Или даже по-другому вопрос выстрою Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Андрей
7
Hello friends, I have a question. I have a site written in HTML. This site has been ranking high on Google for about 10 years. I will change the hosting of the site and I will...
Ens
4
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Карта сайта