Questions tagged «handlebars.js»

Handlebars是JavaScript的模板库。

5
如何遍历车把中的对象数组?
这似乎是一个愚蠢的问题,但我似乎在任何地方都找不到答案。 我正在使用此Web API,该Web API以JSON格式返回对象数组: 把手文档显示以下示例: <ul class="people_list"> {{#each people}} <li>{{this}}</li> {{/each}} </ul> 在以下情况下: { people: [ "Yehuda Katz", "Alan Johnson", "Charles Jolley" ] } 就我而言,我没有该数组的名称,它只是响应的根对象。我尝试使用{{#each}}没有运气。 第一次使用把手...我想念什么? 更新 这是一个简化的小提琴,向您展示我在问什么:http : //jsfiddle.net/KPCh4/2/ 车把是否要求上下文变量是对象而不是数组?

4
如何在车把模板中找到数组长度?
我有一个使用json对象呈现的Handlebars模板。在这个json中,我正在发送一个数组。像这样: var json = { "array":["abc","def","ghi","jkl"] } 现在在我的模板中,我想找到此数组的长度。就像是: {{#each item}} {{ array.length }} {{/each}} 在车把文档中找不到它。

4
使用Handlebars.js遍历基本的“ for”循环
我是Handlebars.js的新手,并且刚刚开始使用它。大多数示例都基于对对象的迭代。我想知道如何在基本的for循环中使用把手。 例。 for(i=0 ; i<100 ; i++) { create li's with i as the value } 如何做到这一点?

5
Handlebars.js解析对象而不是[Object object]
我正在使用Handlebars模板,并且[Object object]中已经表示了JSON数据,如何在Handlebars之外解析此数据?例如,我试图通过handlebars标签在页面上填充一个JavaScript变量,但这不起作用。 有什么建议?谢谢! 编辑: 为了澄清起见,我使用带有把手的ExpressJS进行模板制作。在我的路线中,我有这个: var user = {} user = {'id' : 123, 'name' : 'First Name'} res.render('index', {user : user}); 然后在index.hbs模板中,我有了一个{{user}}对象。我可以使用{{#each}}它遍历对象。但是,我也在使用Backbonejs,我想将此数据传递给View,例如: myView = new myView({user : {{user}}); 问题是,如果我将其放在console.log中,{{user}}只会[Object object]在源代码中显示,但会出现错误“意外的标识符”。

6
使用handlebars.js模板以数组中的最后一项为条件
我将handlebars.js用于模板引擎,并希望仅当条件段是模板配置对象中包含的数组的最后一项时才显示条件段。 { columns: [{<obj>},{<obj>},{<obj>},{<obj>},{<obj>}] } 我已经拉了一个助手来做一些相等/更大/小于的比较,并且已经成功地通过这种方式识别了初始项目,但是没有运气来访问目标数组的长度。 Handlebars.registerHelper('compare', function(lvalue, rvalue, options) {...}) "{{#each_with_index columns}}"+ "<div class='{{#equal index 0}} first{{/equal}}{{#equal index ../columns.length()}} last{{/equal}}'>"+ "</div>"+ "{{/each_with_index}}" 有谁知道捷径,不同的方法以及一些车把的优点,这些使我不必再进入handlebars.js引擎来确定最佳路线?

5
在Handlebars.js中使用预编译的模板(jQuery Mobile环境)
我在预编译Handlebars中的模板方面有些挣扎。我的jQuery Mobile项目在模板方面越来越大,我希望预先编译所使用的模板。 但是我似乎找不到很好的解释(如循序渐进的教程)来说明如何使用把手。 我仍然使用script标签将所有模板内联。我已经使用NPM安装了车把。但是现在我有点迷失了如何进行。 我猜正在做类似的事情 handlebars -s event.handlebars > event.compiled 并以某种方式包括event.compiled内容?但是,怎么称呼它。 我这样称呼我的模板 var source = $('#tmpl_profile').html(), template = Handlebars.compile(source), context = user.profile()), html = template(context); 希望有人能为我阐明这一点。

8
车把:拒绝访问以解析“来源”属性,因为它不是其父项的“拥有财产”
我正在使用带有手柄的服务器端渲染的Nodejs后端。doc从车把读取一组对象后,其中包含键“ content”和“ from”。但是,当我尝试用于#each遍历对象数组时,会出现错误“ Handlebars:访问已被拒绝以解析属性”来自”,因为它不是其父级的“拥有属性”。 我试图将我在doc数组中获取的数据进行console.log(),一切似乎都很好。 从某种角度来说,这是猫鼬查询,我已将对象doc作为键添加到res.render参数中。 Confession.find() .sort({date: -1}) .then(function(doc){ for(var i=0; i < doc.length; i++){ //Check whether sender is anonymous if (doc[i].from === "" || doc[i].from == null){ doc[i].from = "Anonymous"; } //Add an extra JSON Field for formatted date doc[i].formattedDate = formatTime(doc[i].date); } res.render('index', {title: 'Confession Box', success:req.session.success, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.