Questions tagged «handlebars.js»

Handlebars是JavaScript的模板库。

26
handlebars.js {{#if}}中的逻辑运算符
handlebars JS中是否可以将逻辑运算符合并到标准handlebars.js条件运算符中?像这样: {{#if section1 || section2}} .. content {{/if}} 我知道我可以写我自己的助手,但是首先我想确保我不会重新发明轮子。

8
Mustache.js和Handlebars.js有什么区别?
我看到的主要区别是: 把手增加了#if,#unless,#with,和#each 把手添加助手 车把模板已编译(胡子也可以) 车把支撑路径 允许使用{{this}}in块(输出当前项目的字符串值) Handlebars.SafeString() (也许还有其他方法) 车把的速度提高了2至7倍 小胡子支撑倒立的部分(即if !x ...) (如果我对以上内容有误,请纠正我。) 我还有其他主要差异吗?

9
如何通过把手中的索引访问访问数组项?
我正在尝试在把手模板内的数组中指定项的索引: { people: [ {"name":"Yehuda Katz"}, {"name":"Luke"}, {"name":"Naomi"} ] } 使用这个: <ul id="luke_should_be_here"> {{people[1].name}} </ul> 如果上述方法不可行,我该如何编写一个可以访问数组中特殊项目的助手?

6
如何获取每个助手中的索引?
我正在使用Handlebars在我的项目中进行模板制作。有没有办法获取“每个”助手中当前迭代的索引? <tbody> {{#each item}} <tr> <td><!--HOW TO GET ARRAY INDEX HERE?--></td> <td>{{this.key}}</td> <td>{{this.value}}</td> </tr> {{/each}} </tbody>

7
如果没有Handlebars.js
我正在使用Handlebars.js进行客户端视图渲染。如果Else运作良好,但我遇到了需要ELSE IF的3种条件: 这不起作用: {{#if FriendStatus.IsFriend }} <div class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></div> {{else if FriendStatus.FriendRequested}} <div class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></div> {{else}} <div class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></div> {{/if}} 如何搭配车把使用ELSE IF?


2
通过“每个”把手进入父级的属性
考虑以下简化数据: var viewData = { itemSize: 20, items: [ 'Zimbabwe', 'dog', 'falafel' ] }; 还有一个车把模板: {{#each items}} <div style="font-size:{{itemSize}}px">{{this}}</div> {{/each}} 这是行不通的,因为在each循环中,父作用域是不可访问的-至少不能以我尝试过的任何方式。我希望有办法做到这一点!

3
每个循环访问Handlebars.js范围之外的变量
我有一个handlebars.js模板,如下所示: {{externalValue}} <select name="test"> {{#each myCollection}} <option value="{{id}}">{{title}} {{externalValue}}</option> {{/each}} </select> 这是生成的输出: myExternalValue <select name="test"> <option value="1">First element </option> <option value="2">Second element </option> <option value="3">Third element </option> </select> 如预期的那样,我可以访问的每个元素的id和title字段myCollection以生成我的选择。在选择之外,我的externalValue变量已正确打印(“ myExternalValue”)。 不幸的是,在期权的文本中,externalValue价值从未被打印出来。 我的问题是:如何从循环内部访问每个handlebars.js范围之外的变量?


3
Ember.js中的视图与组件
我正在学习ember.js,并且试图了解视图和组件之间的区别。我将两者都视为制作可重用组件的一种方式。 在Ember网站上查看: 通常仅出于以下原因在Ember.js中创建视图: -需要复杂的用户事件处理时 -要创建可重用组件时 从Ember网站上的组件: 组件是一个自定义HTML标记,您可以使用JavaScript实现其行为,并使用Handlebars模板描述其外观。它们使您可以创建可重用的控件,以简化应用程序的模板。 那么视图和组件之间的主要区别是什么?在我希望使用组件之上的视图,反之亦然的情况下,又有什么常见的例子呢?

3
将HTML插入车把模板中而不进行转义
有没有一种方法可以将带有html标签的字符串插入到车把模板中,而又不会使标签在输出的字符串中转义? template.js: <p>{{content}}</p> 使用模板 HBS.template({content: "<i>test</i> 123"}) 实际结果: <p><i>test</i> 123</p> 预期结果: <p><i>test</i> 123</p>


8
通过把手传递变量
我目前正在express.js应用程序中处理handlebars.js。为了使事情保持模块化,我将所有模板都分成了部分。 我的问题:我找不到通过部分调用传递变量的方法。假设我有一个部分看起来像这样: <div id=myPartial> <h1>Headline<h1> <p>Lorem ipsum</p> </div> 假设我用“ myPartial”这个名字注册了这个部分。然后,在另一个模板中,我可以说: <section> {{> myPartial}} </section> 效果很好,部分将按预期渲染,我是一个快乐的开发人员。但是,我现在需要的是一种通过此调用传递不同变量的方法,例如在部分标题内检查是否给出标题。就像是: <div id=myPartial> {{#if headline}} <h1>{{headline}}</h1> {{/if}} <p>Lorem Ipsum</p> </div> 发票应如下所示: <section> {{> myPartial|'headline':'Headline'}} </section> 或者。 我知道,在渲染模板之前,我能够定义所需的所有数据。但是我需要一种像刚才解释的方法。有没有办法?

5
handlerbars.js检查列表是否为空
在Handlebars.js中,有没有一种方法可以在遍历列表/集合之前检查集合或列表是否为空或为空? // if list is empty do some rendering ... otherwise do the normal {{#list items}} {{/list}} {{#each items}} {{/each}}

10
编写AngularJs应用程序时Jade或Handlebars有什么用
我是整个javascript全栈应用程序的新手,并且对Angular还是陌生的,所以我希望有人可以在这里为我提供记录。 为什么在使用AngularJS编写客户端应用程序时需要使用Jade或Handlebars之类的模板框架。 我应该说,我也从未使用过任何这些模板框架。因此,我完全不了解这些优势。但是,例如,当我看一下Handlebars时,它会执行许多与Angular中相同的事情,例如循环等。 据我所知,使用适当的HTML在Angular中创建模板,然后对所有客户端进行模板化,然后将其与使用node和mongo的API first方法结合起来,将是最有意义的。 造成这种混乱的原因是,我在GitHub上找到的许多示例都使用了Jade,这对我来说似乎很不直观。 请开导我,让我挺直。我很乐意向比我了解更多的人学习一些最佳实践。 谢谢

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.