簡體   English   中英

Angular dom 消毒無法正常工作

[英]Angular dom sanitize not working correctly

我使用 angular dom sanitizer 從文本區域獲取 html。 它在渲染整個項目后第一次完美運行,但在重新訪問組件后第二次我收到了這條消息:

SafeValue 必須使用 [property]=binding: My text(參見http://g.co/ng/security#xss )。

我已經使用 inner-html 屬性通過屬性綁定傳遞內容

const desc=this.sanitizer.bypassSecurityTrustHtml(this.ticket.description);
this.ticket.description = desc;
<p class="desc" [innerHTML]="ticket.description"></p>

我期待我的純文本,但我得到了上面描述的輸出。

你可以像下面這樣直接綁定:

<p class="desc" [innerHTML]="sanitizer.bypassSecurityTrustStyle(ticket.description)"></p>

html 中的綁定方法會導致很多歧義,如下所示。 該方法繼續通過 html 命中,在您的情況下,在 ngOninit 中它工作正常,這意味着您的邏輯工作正常,現在在 ngonchanges 中編寫相同的邏輯(也將其保留在 ngonint 中)它將工作正常

 <p class="desc" [innerHTML]="sanitizer.bypassSecurityTrustStyle(ticket.description)"></p>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM