2015-02-11 13 views
0

經典問題。希望看到HTML呈現,但我在瀏覽器中看到文本。無論我是否告訴handlebars js在模板中解碼它(三個花括號vs兩個 - {{{myHtmlData}}}和{{myHtmlData}}},都無法讓我知道。關於通過model.fetch()返回的JSON的某些內容將這種html數據封裝起來,使其對HTML顯示的概念有抵抗力。它始終被視爲一個字符串,無論是編碼還是解碼,因此它始終顯示爲文本。我的骨幹牽線木偶模型包含一個帶有轉義html的字段。如何將該字段的內容呈現爲HTML而不是文本?

這難道僅僅是脊柱骨幹不該做的事情?

這裏涉及的技術包括:

backbone.marionette 
    handlebars.js 
    .NET Web API 
+0

在這裏使用Backbone.Marionette和Handlebars,{{{}}}開箱即可使用。不知道它會有所作爲,但你可以嘗試將你的字符串傳遞給Handlebars.SafeString構造函數:'var html = new Handlebars.SafeString('

foo
')' – maxlath 2015-02-12 15:58:50

回答

0

你的數據被自動轉義。這是一件好事,但既然你確定數據是安全的HTML。使用{{{}}}與其他問題Insert html in a handlebar template without escaping一樣。

+0

感謝您的迴應。如問題所示,嘗試了三個支架。沒有骰子。不知道爲什麼這不起作用。認爲這就是它的原因。唯一的答案似乎在後端。只是不要發送編碼的HTML。試過了,它的工作原理。除了從模型中提取數據,對其進行JavaScript解碼並創建另一個模型之外,還沒有找到客戶端解決方案。我已經完成了,它也可以工作。儘管如此,仍然會失去框架和模板自然流動的某些好處。 – Robert 2015-02-19 14:56:45

相關問題