В чате
Попросил привести пример в случае, если
Возможно, конечно, но две строчки
Когда мне надо в проекте сделать свой небольшой
Да, это нельзя
#css
vuejs_ru
вчера прошла короткая дискуссия о вредности и ненужности :deep()
. Типа его можно заменить на установление путем JS
в 2 строчки класса на внутреннем компоненте.Попросил привести пример в случае, если
container query
во внешнем компоненте меняет flex-direction
во внутреннем - абсолютно реальный use-case.Возможно, конечно, но две строчки
CSS
превращаются в кучу громоздкого уродливого JS
с огромными потерями в производительности.:deep()
- это инструмент, пользоваться им надо умело, и не будет никаких проблем. Если ты постоянно пытаешься, ограничивая инструментарий, сделать защиту от дурака, то ты этих дураков и плодишь.CSS
- это уровень представления вашего приложения, его функционал давно выходит за пределы только простенькой адаптивности, анимации и цветовых тем. В CSS
тоже есть логика, и перекладывать её работу на JS
нецелесообразно.
CSS
всегда на порядки быстрей JS
в браузерах. И поэтому использование JS
вместо CSS
как минимум очень сильно бьет по производительности, да еще и замусоривает скриптовую секцию вашего SFC
.Когда мне надо в проекте сделать свой небольшой
UI kit
, я обычно size=large
в BaseButton
передаю не пропсом, а CSS
классом. Потому что эта штука принадлежит именно уровню представления - то есть, CSS
. И потому что приложение так будет работать быстрее, а SFC
получается проще, чище и понятней.Да, это нельзя
TS
типизировать для получения подсказочек в IDE
. Но мир не сошел с ума на этих подсказках, кому-то надо просто писать производительные читабельные приложения, и заглядывание во внутреннюю документацию или исходник компонента вполне решает проблему подсказок.TS
для разработчика, а не разработчик для TS
.#css