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

Подскажите, пожалуйста, можно ли как-то динамически при помощи директивы засветлить

блок (добавить ему псевдо-элемент (:before) и дать ему цвет + opacity)? Чтобы как-то при помощи Renderer2...При этом не использовать глобальный класс.
Как я понимаю, то псевдоэлемент, Renderer2 создать не может. А просто назначить без псевдоэлемента директивой через setStyle opacity блоку тоже не вариант... Так как при помощи директивы я еще добавляю спинер (компоненту его) посреди блока. Так я хочу сделать универсальный плелоадер – пока данные обновляются, то блок осветлен и крутится посредине спинер....

20 ответов

7 просмотров

Да, навесьте класс

о прикольная идея

Если хочется избежать зависимости директивы от конкретного глобального css класса, можно 1. обернуть директиву в модуль 2. сделать forRoot в модуле 3. параметром forRoot будет принимать className 4. будет регистрировать переданный className по токену в провайдерах 5. Токен инжектится в директиву. Получаете className Получается более гибкая система, где ты не зависишь от конкретики. Больше прдходит для либ, чем для приложения. Но чтобы тимлид успокоился, можно сделать так

Oleksandr 🤖- Автор вопроса
Daniil Baunov
Если хочется избежать зависимости директивы от кон...

звучит интересно)) если он не назовет это "неочевидным")) спасибо

Кстати с помощью директивы лучше не добавлять спиннер. Внутри директив старайтесь работать только с хост элементом, не меняя структуру DOM. Ведь ты не знаешь, что там вокруг и какие стили применены к родителю. Лучше сделать компонент-обёртку.

Oleksandr 🤖- Автор вопроса
Alex Inkin
Кстати с помощью директивы лучше не добавлять спин...

спасибо. Я действительно начинал с компонента обретки. Но там столкнулся с другими проблемами. Я не могу в таком случае разместить спиннер посредине загружаемого блока. Это можно сделать только директивой – я даю блоку position:relative, а спиннеру абсолют. Компонент обертка способна вывести спиннер только над блоком, а не внутри него(( Как раз пришел с новым вопрос. Можно ли как-то директивой создать div обертку динамически над блоком, на который повешена директива? Создавать чайлды вообще без проблем через insertBefore... А вот создание враппера динамического решило бы мою проблему с глобальными стилями, возможно

Oleksandr 🤖
спасибо. Я действительно начинал с компонента обре...

Не понимаю. Как в директиве можно сделать то, что нельзя в компоненте? Компонент — это директива со своим шаблоном. Все те же самые стили на хост и на спинер вы можете сделать в компоненте, причём инкапсулированными классами, а не инлайн стилями.

Oleksandr 🤖- Автор вопроса
Alex Inkin
Не понимаю. Как в директиве можно сделать то, что ...

тоже такие мысли только что в голову полезли) но я уже и сам запутался...))

Alex Inkin
Кстати с помощью директивы лучше не добавлять спин...

Если делать компнент обертку для отображения formControl errors, то какую стратегию ему выбрать?

Alex Inkin
Default. Иначе не получить статус touched

А NgControl через ContentChild инжектить?

Юра 🪐
А NgControl через ContentChild инжектить?

Можно через DI, провесив на него тот же formControl, мы так делаем.

Юра 🪐
А есть примеры?

https://taiga-ui.dev/components/field-error

Alex Inkin
https://taiga-ui.dev/components/field-error

Я посмотрел сорс код TuiFieldErrorComponent, для чего там пустой writeValue?

Юра 🪐
Я посмотрел сорс код TuiFieldErrorComponent, для ч...

Без него интерфейс не будет реализован в полной мере и будет ошибка

Юра 🪐
Я посмотрел сорс код TuiFieldErrorComponent, для ч...

Думал контрол просто через input передать

Юра 🪐
Я посмотрел сорс код TuiFieldErrorComponent, для ч...

Если я правильно помню, то иначе контрол ругался, что не нашёл ControlValueAccessor, поэтому пришлось его интерфейс реализовать и себя назначить им: https://github.com/TinkoffCreditSystems/taiga-ui/blob/main/projects/kit/components/field-error/field-error.component.ts#L58

Юра 🪐
Думал контрол просто через input передать

Так у тебя будет работать только для контрола, а не для ngModel, formControlName, formArray, formGroup

Alex Inkin
Так у тебя будет работать только для контрола, а н...

А NgControl это парент класс для всех директив

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

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

Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
Всем привет! Стоит задачка, выбрать из выпадающего списка конкретный цвет. Пока реализовал через активацию контрола списка и выбора несколькими нажатиями стрелки вправо до нуж...
Роман.С
9
Карта сайта