В угловом 2 можно вручную создать экземпляр компонента A, затем передать его и отобразить в шаблоне компонента B?Возможно ли вручную создать компонент в угловом 2
ответ
Да, это поддерживается. Вам нужен ViewComponentRef
, который можно, например, получить, вставив его в конструктор или с помощью запроса @ViewChild('targetname')
и ComponentResolver
, который также может быть введен.
Этот пример кода из https://stackoverflow.com/a/36325468/217408 позволяет, например, добавлять компоненты динамически *ngFor
@Component({
selector: 'dcl-wrapper',
template: `<div #target></div>`
})
export class DclWrapper {
@ViewChild('target', {read: ViewContainerRef}) target;
@Input() type;
cmpRef:ComponentRef;
private isViewInitialized:boolean = false;
constructor(private resolver: ComponentResolver) {}
updateComponent() {
if(!this.isViewInitialized) {
return;
}
if(this.cmpRef) {
this.cmpRef.destroy();
}
this.resolver.resolveComponent(this.type).then((factory:ComponentFactory<any>) => {
this.cmpRef = this.target.createComponent(factory)
});
}
ngOnChanges() {
this.updateComponent();
}
ngAfterViewInit() {
this.isViewInitialized = true;
this.updateComponent();
}
ngOnDestroy() {
if(this.cmpRef) {
this.cmpRef.destroy();
}
}
}
, этот пример не позволяет создавать экземпляр компонента с данными. – dopatraman
Не уверен, что вы имеете в виду. Более полный пример в связанном ответе показывает, как передавать и вводить данные. –
- 1. создать многоразовый компонент в угловом 2
- 2. Кэш-компонент в угловом 2
- 3. Создайте динамический компонент в угловом 2
- 4. Как принудительно перепрофилировать компонент в угловом 2?
- 5. Возможно ли использовать компонент в кинжале 2?
- 6. Как визуализировать компонент подкласса в угловом 2?
- 7. Inject Http вручную в угловом 2
- 8. Как отображать компонент в угловом 2?
- 9. Можно ли сделать самозакрывающийся компонент в угловом 2?
- 10. Компонент верблюда: возможно ли создать компонент «Только для потребителей»?
- 11. Подкомпоненты в Угловом 2
- 12. Возможно ли выполнение условного содержимого (переключение) в угловом 2+
- 13. Как создать детский маршрут в угловом 2?
- 14. Обнаружение изменения смены вручную в Угловом
- 15. Возможно ли создать COM-компонент в C# .net?
- 16. Возможно ли обновить ModelState.IsValid вручную?
- 17. Возможно ли установить bcrypt вручную
- 18. Возможно ли утечка памяти вручную?
- 19. Возможно ли освободить память вручную?
- 20. Простой компонент выпадающего списка в угловом формате 2
- 21. Возможно ли установить npm вручную?
- 22. Как создать компонент, который я могу установить выборку данных url в атрибуте в угловом 2
- 23. Могу ли я создать синхронную функцию в угловом 2
- 24. Динамический стильУгли в угловом 2?
- 25. как вернуть объект из службы в компонент в угловом 2?
- 26. Трубы. компоненты впрыскивания в компонент в угловом 2
- 27. Как загрузить компонент программно в один div в угловом 2
- 28. Как создать динамическое меню в угловом 2?
- 29. Установите компонент вспышки вручную
- 30. Как перерисовать компонент вручную?
Добро пожаловать на SO пожалуйста, проверьте этот [URL] (http://stackoverflow.com/help) будет помогать вам повысить качество контента вопроса –