2016-12-05 38 views
1

我創建了一個顯示地址的Polymer元素。該地址包含用於新行的\n,所以我想用<br/>替換它。聚合物顯示<br/>而不是換行

這是模板:

<br/> 
    {{sanitizeAddress(address)}} 
<br/> 

這是sanitizeAddress的代碼:

sanitizeAddress: function(unsanitizedAddress) { 
     var sanitizedAddr = unsanitizedAddress.replace("\n","<br/>"); 
     console.log("sanitizedAddr = " + sanitizedAddr); 
     return sanitizedAddr; 
} 

這是實際的輸出:

FIRSTLINE,< BR/>二線

這是預期的輸出:

FIRSTLINE,
二線

我怎樣才能讓<br/>消失,並顯示一個新行?

回答

2

默認情況下,Polymer會自動將HTML內容粘貼到綁定中,以防止您意外地結束了您不想要的DOM更改。一個簡單的方法來做到這一點是一個id分配給某個元素,則當數據可插入這樣說:

<dom-module id="my-element"> 
    <template> 
    <div id="addressContainer"></div> 
    </template> 
    <script> 
    Polymer({ 
     is: 'my-element', 
     properties: { 
     address: { 
      type: String, 
      observer: '_addressChanged' 
     } 
     }, 

     _addressChanged: function(newValue) { 
     this.$.addressContainer.innerHTML = newValue; 
     } 
    }); 
    </script> 
</dom-module> 

只是要小心,只爲您信任的HTML做到這一點。

+0

是。這正是我最終做的。非常感謝。 – user1700184