[英]How to pass a property to an Handlebars helper
我試圖在我的Ember.js應用程序中注冊一個Handlebars.js幫助器,這將允許我傳入一個視圖屬性,這是一個簡單的html字符串,無需轉義即可呈現。 我的模板看起來像這樣:
<span class="add-on">{{log view.append}}{{safeMarkup view.append}}</span>
在這種情況下,log語句將html字符串正確輸出到控制台,類似於<span>text</span>
。
我的助手safeMarkup如下:
Handlebars.registerHelper('safeMarkup', (string) ->
return new Handlebars.SafeString(string)
)
然而,渲染的不是view.append
屬性的值,而是字符串“view.append”本身! 像這樣: <span class="add-on">view.append</span>
。 任何想法在這里出了什么問題? 謝謝
在車把:
{{span 'className'}}
在app中:
Handlebars.registerHelper('span', function(className) {
return new Handlebars.SafeString("<span class='"+Handlebars.Utils.escapeExpression(className)+"'></span>");
});
您還可以使用三重胡子來避免轉義html字符串... http://jsbin.com/imafuq/8/edit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.