簡體   English   中英

如何在angularjs中使用replace&with&

[英]How to use replace & with & in angularjs

問題:我很難替換“&” 至 &。 是他們使用JavaScript將&符替換為&的一種方式。

<div class="col-md-4 no-margin padding" id="change">
 <strong>Specialty: </strong>{{e.Specialty}}
</div>

我想替換“&amp;” 當它從數據庫獲取數據到“&”時。

因此目前,它將顯示“ Nursing&amp; Doctor”,而不是“ Nursing&Doctor”

如何使用替換實現此目的。 我嘗試了ng-show,Santize和ng-bind-html,但沒有為我解決。

您必須使用$ sce服務和trustAsHtml,以便Angular不會進行編碼,並且在沒有輸出編碼的情況下顯示輸出。 詳細信息在這里https://docs.angularjs.org/api/ngSanitize

步驟如下-

  1. 包括ngSanitize模塊-angular.module('app',['ngSanitize']);
  2. 在控制器中注入$ sce服務
  3. 最真實的輸出使用-vm.Specialty = $ sce.trustAsHtml(Specialty);
  4. 不顯示輸出編碼就顯示給用戶- 特殊: bind-html-compile = e.Specialty

您可以嘗試手動更新&amp ; 使用javascript。

{{ e.Specialty.replace(/&amp ;/g, '&') }}

出於價值考慮,HTML應該會自動翻譯&amp; & 似乎您在&amp ;里面有一個流氓空格鍵&amp ; 這可以防止這種情況的發生。

我會使用過濾器...

JavaScript:

myApp.filter('andFilter', function() {
  return function(item) {
    return item.replace(/&amp ;/g, '&');
  }
});

HTML:

<div class="col-md-4 no-margin padding" id="change">
 <strong>Specialty: </strong>{{e.Specialty | andFilter}}
</div>

這不一定是最好的方法,但是對於需要執行此操作的人,您可以使用以下方法:

 var parser = new DOMParser; var dom = parser.parseFromString(YOURSTRING,'text/html'); var decodedString = dom.body.textContent; 

這可以使用

<span ng-bind-html="e.Specialty"></span>

並在模塊中包含['ngSanitize']

plunkr示例: https ://plnkr.co/edit/d6Anjr7vL6un9d0yL5ZW ? p = preview

暫無
暫無

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

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