2017-06-22 91 views
0

我需要將一個html字符串傳遞給角度爲4的組件,但是我找不到一種方法將傳遞的字符串標記爲安全。如何將一個html字符串傳遞給我的子組件?

我創建在父組件傳遞的HTML,它不是我從用戶那裏獲取或從服務器中檢索,這也是動態

我的代碼看起來像這樣(視情況而定/警報類型創建的):

<app-alert 
 
    message = "Please complete your <span class=u>Profile</span>" 
 
    alertType = "alert-info" 
 
    icon = "glyphicon glyphicon-info-sign" 
 
    closeBtn = "true"> 
 
</app-alert>

我搜索了很多,但我無法找到合適的,我能找到的最接近的是this question,但只能用「正常」的字符串交易s,而不是包含html的字符串

如何將html字符串傳遞給我的子組件?

+0

如何使用'ng-content'? https://scotch.io/tutorials/angular-2-transclusion-using-ng-content –

+0

聞起來像一個糟糕的設計。爲什麼不能把你需要的所有信息都包裝到對象中,將它傳遞給組件,然後把html作爲子組件的一部分,填充它並從孩子中展示出來? –

+0

@HarryNinh:謝謝,我打算去看看,我很快就會回來 – TheDude

回答

1

您可以將html字符串作爲組件輸入。那麼在你的子組件的html內使用innerHTML指令(https://www.dev6.com/Angular-2-HTML-binding

<span [innerHTML]="componentInput"></span> 
+0

使用[innerHTML]的一個問題是它只能用於瀏覽器而不能用於其他渲染引擎。 – Sean12

+0

@ Sean12我相信OP和你做了類似的事情,並在他的父代中創建了字符串,然後通過Input指令將它傳遞給一個孩子。這個字符串是什麼意思是不完整的?該字符串通過輸入指令傳遞,然後用於innerHTML指令以在span標籤內插入html +文本 – LLai

相關問題