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

Коллеги, подскажите, пожалуйста, создаю динамический компонент. Хочу в него передать

данные с сохранением типа. Если передавать через Input , то проверка типа работает, а если через injector, то уже нет. Скажите, пожалуйста, как передать данные typesafty через инжектор?

19 ответов

24 просмотра

А как вы через инпут передаёте? Он же там не работает.

Евгений-Гений Автор вопроса
Andrei
А как вы через инпут передаёте? Он же там не работ...

тут пример через инпут https://stackblitz.com/edit/angular-dynamic-components-example-ah4xqi?file=src%2Fapp%2Fapp.component.ts

Евгений Гений
тут пример через инпут https://stackblitz.com/edit...

Через instance? Под этим вы инпут подразумеваете?

Евгений-Гений Автор вопроса
Andrei
Через instance? Под этим вы инпут подразумеваете?

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

Евгений Гений
ага

Это не инпут. Это просто свойство Инпут там не работает.

Евгений-Гений Автор вопроса
Andrei
Думаю через обёртку.

можно подробнее?

Евгений-Гений Автор вопроса
Andrei
Думаю через обёртку.

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

Евгений Гений
можно подробнее?

Делаете компонент. Он принимает компонент и входящие параметры. Внутри делаете создание динамически. Грубо говоря делаете свой ngComponentOutlet компонент, а на нем уже работает типизация

Andrei
Делаете компонент. Он принимает компонент и входящ...

Также через подобную обёртку и CVA заведутся.

Евгений Гений
для меня важна проверка типов, чтобы поддержка про...

Вот у @thekiba есть интересная стать и библиотека. https://medium.com/thekiba/dynamic-component-rendering-in-angular-with-auto-data-binding-22dd340a4142

Евгений-Гений Автор вопроса
Andrei
Делаете компонент. Он принимает компонент и входящ...

а вот так нормально получать зависимость? так выходит type safety constructor(private injector: Injector) { const historyModel = this.injector.get(modelToken); this.model = { header: historyModel.header, oldValue: historyModel.oldValue, newValue: historyModel.newValue + '' }; }

Евгений Гений
а вот так нормально получать зависимость? так выхо...

constructor( @Optional() @Inject(token) private data?: modelTokenType ) както так.

Евгений-Гений Автор вопроса
Andrei
constructor( @Optional() @Inject(token) pri...

вы тип задаете явно. А что если он снаружи поменяется? или вставят что то не то*

Евгений Гений
вы тип задаете явно. А что если он снаружи поменяе...

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

Евгений-Гений Автор вопроса
Евгений Гений
я не про значение я про модель

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

Евгений Гений
а вот так нормально получать зависимость? так выхо...

сделайте historyModel свойством объекта и вам придется указать ему тип

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

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

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