2017-02-16 6 views
0

일부 서비스에서 페이지 일부를 가져옵니다. 그 각도 표현이나 라우터 직원이 동적 컨텐츠로 작동하려면 어떻게해야합니까?동적 각도 2 표현식이 뷰에 바인딩됩니다.

Controller.ts

variable = 'some text'; 
dynamicContent =' 
    {{variable}} 
    Or 
    <a [routerLink]="contact"]></a>'; 

View.html는

<div> 
    {{dynamicContent}}//plain text 
    <div [innerHtml]="dynamicContent"></div> //html without angular expressions 
</div> 

그래서 innerHTML을 가까이입니다. HTML을 만들 수는 있지만 앵귤러 2 표현을 이해할 수는 없습니다. ng-dynamic 모듈을 찾았지만 html로만 이해할 수도 있습니다. 가장 좋은 솔루션 atm은 html 아울렛으로 일부 스택 질문에서 발견되었습니다. 하지만 AOT를 지원하지 않습니다 ...

+0

이것을 확인하십시오. http://stackoverflow.com/questions/34784778/equivalent-of-compile-in-ang ular-2 – BotanMan

답변

0

Angular는 동적 콘텐츠를 절대 처리하지 않습니다. 단, 위생적이지 않은 경우 보안 관련 항목을 제거해야합니다. 각도 바인딩 및 구성 요소는 구성 요소 템플리트에 정적으로 추가 될 때 만 처리됩니다. 여기

dynamicContent = this.variable + ' Or <a href="#/contact"></a>'; 

가 plunker입니다 : 당신은 또한 Equivalent of $compile in Angular 2

+0

그것은 해결책 일 수있는 것 같습니다. AOT를 어떻게 지원하는지에 대한 질문 만 있습니다. 나는 그것을 확인할 것이다 – user2771738

+0

나는 모른다. 마지막으로 들었던 것은 브라우저 동적 플랫폼을 가져올 때 AoT와 함께 작동하지 않는다는 것입니다. –

0

당신은 이런 식으로 작성해야 구성 요소 템플릿을 그들로

페이지를 동적 콘텐츠를 넣어 어디 동적 구성 요소를 만들 수 있습니다

: https://plnkr.co/edit/EqJRUs3mGKwjnXzbuwAo?p=preview

+0

귀하의 plunker에서 당신은 내가 말한 것처럼 잘 작동하는 순수한 Go to Site을 사용하고 있습니다. 문제는 각도 2 방향 링크를 사용하려고 할 때입니다. user2771738

+0

변수에 여전히 순수한 html : dynamicContent = '' + this.variable + ' CrisisCenter'; 제 경우에는 html 5 push state를 사용하고 있습니다. 내 표기법을 사용하지 않는 링크. 이것은 약간의 해결 방법과 같았습니다. 동적 콘텐츠는 다음과 같은 각도 표기법으로 배치해야합니다. user2771738