2017-07-25 124 views
0

我在文本框中使用ngModel從我的後端獲取值。這與一個可搜索的下拉列表(我使用<p>標籤和我在哪裏使用innerHtml)相關聯。在Angular 4中顯示特殊符號

如果我要在文本框中顯示註冊商標符號,我該怎麼做?有任何想法嗎?還是角度指令?

值越來越保存在DB從另一個服務HTML字節字符,我和同步(對於例如,註冊商標爲&#174;

<div class="Top-selection"> 
        <input type="text" class="" placeholder="Type here to select a brand" (blur)="checkProperData()" 
          id="brand-id" #BRAND_ID="ngModel" [(ngModel)]="cmpgnCtgry['BRAND_ID']" 
          name="BRAND_ID" (click)="showBrands(row_no)" (keyup)=filter(row_no)/> 

        <div class="filterbox width300px" *ngIf="disableShow[row_no]"> 
         <div *ngFor="let brand of brandList"> 
          <p [innerHTML]="brand.brandName" (click)="selectCatalogId(brand.brandName, brand.brandUniqueId, brand.brandId, row_no)"> 
           {{brand.brandName}}</p> 
         </div> 
        </div> 
       </div> 

我說的是,在這裏讀BRAND_ID

我也試着做以下,

var p = document.createElement('div'); 
         p.textContent = this.campaign['CMPGN_DTL_TX'].CMPGN_CTGRY[i].BRAND_ID; 
         this.campaign['CMPGN_DTL_TX'].CMPGN_CTGRY[i].BRAND_ID = p.innerHTML; 
         console.log(p.innerHTML); 

我真的不明白爲什麼這是行不通的。我在我的.ts組件文件中實現了這個功能。這是記錄這不會幫助嗎? (它也沒有在HTML中更新)。

此外,我真的很驚訝,沒有將其轉換爲註冊商標的標準方式 - 我們必須使用正則表達式並替換<或&符號。

+0

請發佈代碼片段您正在使用或提供[plunker示例](https://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5?p=catalogue):) – 0mpurdy

回答

0

正常[(ngModel)]應綁定任何Unicode符號正確

模板

<div> 
    <input [(ngModel)]="brand" /> 
</div> 

部件

brand = "Google™©®" 

截圖

enter image description here

有關如何編碼,並保存到解碼HTML實體時/從數據庫中讀取看到這些問題的信息:

  1. Encoding
  2. Decoding

Plunker example

+0

問題是,我將它從數據庫中的另一個源保存爲html字節字符 - 例如,'®'而不是商標符號 –

+0

這對我不起作用 - 當我嘗試與模型同步時,它會將其作爲商標符號插入,而不是將其轉換回html代碼。 –

+0

我想顯示商標,但在數據庫中我只想保存html代碼 –