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

Народ, всем привет. А можно как-нибудь отключить директиву по булевому

параметру, например в ngOnInit? Не хочется просто каждый метод внутри оборачивать в if.

19 ответов

26 просмотров

нельзя

Можно сделать через ngIf. Один элемент будет с директивой, а другой нет

MisterN-_ Автор вопроса

Ну, цель делать меньше ифов, а не больше. Это штук 20 if-ов получится. Можно конечно саму директиву сделать структурной и чтобы она сама добавляла элемент без себя в случаи чего. Но эт все-таки лишний гемор, пусть будут некрасивые if.

MisterN _
Ну, цель делать меньше ифов, а не больше. Это штук...

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

🎋🎋🥷 ngxSamurai 🏯🎋🎋
В нг1 это было сплошь и рядом

не ну вроде как если ОЧЕНЬ сильно хочется то можно и jit целый притащить (хз правда если это щас работает, до ivy работало)

MisterN _
Ну, цель делать меньше ифов, а не больше. Это штук...

Тогда мне кажется лучше перенести логику в компонент или модель

MisterN-_ Автор вопроса
Maksim
Тогда мне кажется лучше перенести логику в компоне...

Так логика итак в компоненте. Просто нужен параметр Enabled, который отключает директиву. Просто не добавлять директиву к элементу нельзя, в компонент используется и теми компонентами, где директива нужна. Лан, это не то чтобы прям острая проблема. Просто не хотел оборачивать методы с HostListener директивы в if внутри.

MisterN-_ Автор вопроса

Посылает события на бек о операциях с филдом. Просто потом понадобились такие же филды с такой же логикой, но без событий на бек.

MisterN _
Посылает события на бек о операциях с филдом. Прос...

Ну вот я про эту логику. Что если перенести ее в компонент? А лучше в какой-нибудь сервис, который будет отвечать за эти запросы к бэку. Директива действительно обязательна?

MisterN-_ Автор вопроса
Aleksei Korenek
А если передать параметр в директиву?

Так я и передаю параметр. Только теперь нужно каждый метод внутри директивы обернуть в этот параметр. Работает, но не красиво-неакуратно. Душа феншуя хочет, чтобы все по красоте.

А если реализовать внутри директивы что-то типа фабрики, которая по этому параметру будет выдавать ту или иную реализацию?

MisterN-_ Автор вопроса
Aleksei Korenek
А если реализовать внутри директивы что-то типа фа...

Можно. Но оверинженеринг. Душа перетерпит.

Evgheni Чернявский
не ну вроде как если ОЧЕНЬ сильно хочется то можно...

Все верно, просто многие еще ментально в мире нг1 еще живут.. Да и у нас еще много живых проектов висит мертвым грузом на нем...

MisterN _
Можно. Но оверинженеринг. Душа перетерпит.

Зато по фэншую будет. И немного быстрее получится - не будут ифы каждый раз дергаться

MisterN _
Можно. Но оверинженеринг. Душа перетерпит.

то душа феншуя хочет то перетерпит, вы уж решите как хотите по хардкору или по обычному

MisterN-_ Автор вопроса
Evgheni Чернявский
то душа феншуя хочет то перетерпит, вы уж решите к...

Так все относительно. Когда хардкор хардкору рознь. Я думал, может есть какое красивое апи, а я не в теме.

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта