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

Всем привет. <ng-content select="[main-title]" class="main-title"></ng-content> <ng-content select="[subtitles]" class="subtitles"></ng-content> <ng-content select="[action-buttons-wrapper]" class="action-buttons-wrapper" fxLayout="column"

fxLayoutAlign="flex-start flex-start"></ng-content>
<ng-content select="[table-title]" class="table-title"></ng-content>
цель - этот контент будет на страницах по стилизации одинаковый, но по содержанию разный(разные кнопки в зависимости от стейта и тд)
однако в ng-content стили не прокидываются без нгдипа. какие есть альтернативы? хочу прокидывать шаблон в компонент, но что бы стилизация лежала внутри компонента обертки

35 ответов

23 просмотра

может это вам подойдет https://github.com/TinkoffCreditSystems/ng-polymorpheus

никаких. только глобал стили, т.е. либо нгдип, либо без енкапсуляции. да норм, прячешь под каскад.

Anatoliy-Kernokus Автор вопроса
Anatoliy-Kernokus Автор вопроса
xxtux Shvets
да. норм

но он же депрекейтед((

Anatoliy Kernokus
но он же депрекейтед((

оно сто лет уже депрекейтед и альтернативы не предвидится и никто не знает что это будет.

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
оно сто лет уже депрекейтед и альтернативы не пред...

эх а я хотел по красоте сделать решение а оказывается все таки либо нгдип либо глобальные стили. печаль. спасибо

xxtux Shvets
оно сто лет уже депрекейтед и альтернативы не пред...

ну альтернатива есть. Но она не очень красивая. Так то можно ViewEncapsulation грохнуть именно для этого родителя, и в нем уже прихранивать стили

Anatoliy Kernokus
эх а я хотел по красоте сделать решение а оказывае...

ну как сказать. енкапсуляция так сделана, что порой думаешь лучше уж глобальные стили :) но она удобна, поэтому используем

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
ну как сказать. енкапсуляция так сделана, что поро...

ну вот у меня как раз ситуация когда 9 компонент используют так или иначе одинаковые стили. но есть причины по которым это всё не превратить в 1 компонент. поэтому я думал такой прикол сделать. а глобальные стили удобно миксинами подключать, хотя бы определённость будет. но у меня в проекте темизация материала и основной файл less есть. получается каша и непонятно куда лучше подключить стиль какого-то блин хедера таблицы

Anatoliy Kernokus
ну вот у меня как раз ситуация когда 9 компонент и...

миксины не связаны с глобальными стилями. Если вы используете миксин в компоненте, он просто создает эти правила заново и добавляет к ним префикс. Т.е. на каждый компонент будут свои классы.

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
миксины не связаны с глобальными стилями. Если вы ...

ну а если в глобальном less лежит .header {} то тогда оно будет одно для всех компонентов? то есть правила заново создаваться не будут?

Anatoliy Kernokus
ну а если в глобальном less лежит .header {} то то...

если у тебя в global лежит .header и в компоненте лежит .header то последний перепишет стили глобала

Anatoliy-Kernokus Автор вопроса
Danil Beltsov
если у тебя в global лежит .header и в компоненте ...

это я понимаю. я ради того что бы не писать в каждом компоненте .header {} и хочу организовать глобальные стили по-человечески. думал через ng-content но там стили без нгдипа не применяются

Anatoliy Kernokus
это я понимаю. я ради того что бы не писать в кажд...

тогда Антон говорит правильно, в глобальных стилях ng-deep. Пойду гляну свои рабочие проекты, может и у нас они есть

Anatoliy-Kernokus Автор вопроса
Danil Beltsov
тогда Антон говорит правильно, в глобальных стилях...

почему в глобальных-то нгдип? нг-дип можно бахнуть <div class="header-wrapper"> <ng-content select="[main-title]" class="main-title"></ng-content> <ng-content select="[subtitles]" class="subtitles"></ng-content> <ng-content select="[action-buttons-wrapper]" class="action-buttons-wrapper" fxLayout="column" fxLayoutAlign="flex-start flex-start"></ng-content> <ng-content select="[table-title]" class="table-title"></ng-content> </div> вот тут и всё будет почти что инкапсулировано))

Anatoliy Kernokus
это я понимаю. я ради того что бы не писать в кажд...

для понимания создай простенький проект и посмотри какие префиксы от какого компонента попадают в разметку. на тег компонента вешается ng-host чето там, а на все что внутри ng-content а ng-deep просто убирает этот префикс из объявления стиля. Тоже самое делает отключение енкапсуляции или просто глобальный стиль в style.scss

Anatoliy Kernokus
ну а если в глобальном less лежит .header {} то то...

создаются все правила, которые описаны в стилях компонента. в конечном css никаких миксинов нету

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
создаются все правила, которые описаны в стилях ко...

я имею в виду не миксины а просто глобальные стили. они ведь не будут дублироваться если в приложении будет 7 элементов с классом .header

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
для понимания создай простенький проект и посмотри...

тогда в чем минус нгдипа если он используется в отдельно взятом компоненте - :host::ng-deep ? то что он может когда-то пропасть?

Anatoliy Kernokus
а они есть?)

ну если в компоненте сплошные нг-дип, то лучше просто отключить енкапсуляцию, но ваще минусов нет

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
не будут

cтоп. но по такой логике вообще всегда выгодно юзать глобальные стили в обход инкапсуляции. т.к. они никогда не будут порождать доп.стили. я вот сделал компонент и стилизовал его - использую 10 раз в приложении. и в каждый будут копироваться инкапсулированные стили?..

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
да

так это же очень плохо..

Anatoliy Kernokus
так это же очень плохо..

подожди. нет. стили самого компонента 1 раз объявляются Это если ты в него импортишь какие нить миксины, они копируются.

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
подожди. нет. стили самого компонента 1 раз объявл...

объявляются 1 раз. используются - n раз, где n - количество раз использований компонента

Anatoliy-Kernokus Автор вопроса
xxtux Shvets
подожди. нет. стили самого компонента 1 раз объявл...

почему? миксины разворачиваются в такой же less/scss код как и содержимое стилей компонента

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта