Javascript handlebar.js关于帮助器的问题
我已经创建了帮助器来生成“li”代码,如下所示:Javascript handlebar.js关于帮助器的问题,javascript,jquery,backbone.js,handlebars.js,Javascript,Jquery,Backbone.js,Handlebars.js,我已经创建了帮助器来生成“li”代码,如下所示: Handlebars.registerHelper("REQUEST_LI", function(id){ var LI = ""; $.each(APP.que_random_ids, function(i, v){ if( v.subject == id ){
Handlebars.registerHelper("REQUEST_LI", function(id){
var LI = "";
$.each(APP.que_random_ids, function(i, v){
if( v.subject == id ){
LI = LI + "<li><input type='button' value='"+v.index+"'/></li>";
}
});
return LI;
});
handlebar.registerHelper(“请求”,功能(id){
var LI=“”;
$。每个(APP.que\u随机\u ID,函数(i,v){
if(v.subject==id){
LI=LI+“”;
}
});
返回李;
});
正确生成输出。但在模板中,它显示了“li”标记
我正在点击按钮呼叫助手。如果您有任何想法,请与我们分享。默认情况下,Handlebar HTML对
{{…}
中的内容进行编码。如果你说:
{{REQUEST_LI x}}
然后您的助手将生成所需的HTML作为字符串,然后Handlebar将对其进行HTML编码(即,
他的解释绝对正确。跳过此编码的另一种方法是使用“#”。请尝试以下方法-
{{#REQUEST_LI x}}{{/REQUEST_LI}}
[这是默认帮助程序(如if)的编写方式。]到底是什么问题?问题是“在模板中”html输出按原样显示。表示“”.好的,我明白了。你能补充一下你的问题吗?你到底是如何呈现它的?还有模板?我不确定我能帮上什么忙,但那可能会有用。看,第一次呈现视图时,我们也加载了该视图的html。现在有一个选项可以更新视图的一小部分。我需要一个助手来更新该部分。当有人请求时因为这意味着“点击按钮”再次呈现相同的视图,但现在模型数据不同。由于此视图模板使用的是返回一堆“li标记”的帮助器。但是当这些返回的“li标记”在模板的html中标记时,这些被视为代码。这意味着“返回li”标记被打印。如果可能,请回答。
{{#REQUEST_LI x}}{{/REQUEST_LI}}