0

我有一些數據已經正在添加從「控制器」轉義:Lodash _.template呈現轉義字符

<b> 

而且我使用lodash模板(_.template),在平原仍呈現,它文本:

<b> 

預計:

<b> 

我怎樣才能使這種HTML部分瀏覽器不考慮它的像純文本而不是元素?

回答

1

調用一個函數來隱藏您的轉義HTML。根據您的情況,您可以選擇取消轉義您的數據,並將結果傳遞給模板,或者在這個片段中,寫在模板函數調用:

var temp = _.template("<%= htmlDecode(name) %>"); 

function htmlDecode(input) { 
    var doc = new DOMParser().parseFromString(input, "text/html"); 
    return doc.documentElement.textContent; 
} 

console.log(temp({ name: "&lt;em&gt;Test&lt;/em&gt;" })); 

http://jsbin.com/laretumiqa/edit?html,js,console,output

(該htmlDecode功能來自這個問題:Unescape HTML entities in Javascript?