2017-02-16 46 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從不處理動態內容,除非剝離某些安全相關的東西(如果未經過消毒)。當靜態添加到組件模板時,角綁定和組件是只處理

您可以動態創建一個組件,你把動態內容融入其中部件模板

參見Equivalent of $compile in Angular 2

+0

它似乎可以解決問題。唯一的問題是它如何支持AOT。我會檢查出來 – user2771738

+0

我不知道。我聽到的最後一件事是,當瀏覽器動態平臺被導入時,它不適用於AoT,這是必需的。 –

0

你應該寫這樣的:

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

這裏是一個plunker: https://plnkr.co/edit/EqJRUs3mGKwjnXzbuwAo?p=preview

+0

在你的plunker中,你正在使用純正的html Go to Site,它像我說的那樣工作得很好。問題是當我試圖有角度的2路鏈接: user2771738

+0

仍然純html在變量:dynamicContent ='' + this.variable + ' CrisisCenter';在我的情況下,我使用HTML 5推狀態。我的鏈接不使用#符號。這就像一個小小的解決方法。 動態內容需要放在如下所示的角度符號中: user2771738