0
2 개의 구성 요소가 있습니다. 이제 예를 들어 innerHTML과 같이 동적으로로드해야합니다.각도 2 : innerHTML의 동적 구성 요소로드 중
import {
Component,
OnInit,
ViewEncapsulation
} from '@angular/core';
@Component({
selector: 'component-1',
templateUrl: './component-1.html',
encapsulation: ViewEncapsulation.None
})
export class Component1 implements OnInit {
public ngOnInit() {
this.domEl = '<component-2 data="1234"></component-2>'
}
}
컴포넌트 -2- 이미 [] 선언 app.module.ts 통해 파일에 삽입되는 Angular2 컴포넌트 클래스 1 성분 1.html
<div [innerHTML]="domEl | safeHtml"></div>
아래와 같이. 또한 safeHtml은 안전한 HTML 변환에 사용되는 파이프입니다.
심지어 문제는 구성 요소 2가로드되지 않습니다. 아무도 내가 이것을 고칠 수있는 방법을 제안 할 수 있습니까?
참고 :
- 내가 구성 요소 1.html에서 구성 요소-2 포함 할 경우 직접 작동합니다. 그러나 컴포넌트 -2를 동적으로 삽입 할 수없는 경우가 있습니다.
- 스택은 Angular2, TypeScript 및 Webpack에서 빌드됩니다.
innerHtml을로드하는 대신 ngIf 또는 ngSwitch와 함께 템플릿을 사용하십시오. – Fals
그럴 수 없습니다. 제 경우에는 작동하지 않습니다. –
구성 요소를 html로 삽입 할 수 없습니다. 구성 요소는 그림자 돔에서 실제 돔으로 렌더링됩니다. ** innerHTML **을 사용하여 무언가를 주입하면 원시 HTML이 될 것으로 예상됩니다. 렌더링 파이프 라인이 필요하지 않습니다. 전에 말했듯이 ngIf 또는 ngSwitch를 사용해야합니다. – Fals