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

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

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

19 ответов

7 просмотров

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

Евгений-Гений Автор вопроса
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 свойством объекта и вам придется указать ему тип

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Good afternoon, I just started learning php in conjunction with mysql. I am registering a system on a local Mamp server using phpMyAdmin. It seems to be stored normally in the...
ManGo
1
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Добрый день! Такая проблема возникла, написал код на Python, который компилирует, собирает и запускает файлы .s А в случае работы нужно то же самое делать для .asm Чем эти фа...
A Mori
5
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Карта сайта