简单嵌套的车把每个都不工作
Simple Nested handlebar foeach doesnt work
这是一个节点。
app.get('/payees', function(req, res)
{
var categoriesPromise = Category.getAllCategories();
var payeesWhereNullPromise = categoriesPromise.then(function() {
return Payee.getAllPayeesWhere({categoryId:null})
})
payeesWhereNullPromise.then(function(payees) {
var categories = categoriesPromise.value();
res.render('payees', {categories: categories, subcategories: [], payees:payees});
})
});
在前端
{{#each payees as |payee|}}
{{#each categories as |category|}}
category.name
{{/each}}
{{/each}}
如果我把它们分开,它们工作得很好,但当我把它们放在一起时,什么也没有发生。
您只能访问在#each
中循环的数组的属性。与嵌套foreach在您的例子中,你有问题,车把试图找到categories
作为对象属性在payees
数组。但是在您的情况下,categories
是一个全局变量,因此找不到。
但是你可以用Handlebars帮助函数做你想做的。
EDIT:这里有一个使用车把柄辅助函数的例子。
模板:
{{#list categories payees}}{{/list}}
节点服务器代码:
var hbs = require('hbs');
hbs.registerHelper('list', function(categories, payees, options) {
var out = "";
// Here you can use standard JavaScript to do whatever you want.
// Also nested loops are possible.
// Put the wished HTML into the out variable and it will get rendered
// in your template.
for (var i = 0; i < categories.length; i++) {
out += "<div>"+categories[i]+"</div>";
for (var j = 0; j < payees.length; j++) {
// and so on
}
}
return out;
});
文档:https://github.com/pillarjs/hbs http://handlebarsjs.com/
相关文章:
- 我对“;返回true"嵌套函数内部;t工作
- 我需要在单击时运行两个函数.即使嵌套在一起,我也无法让它们都工作
- 为什么我的UI应用程序嵌套在引导模式中时无法工作
- Javascript/JQuery嵌套if语句工作不正常
- 添加嵌套视图后代码停止工作
- 嵌套的 AJAX 调用列表和 $.when.apply - 延迟承诺无法正常工作
- 如何使 jquery 嵌套选项卡链接工作
- 如何在角度工作中进行嵌套嵌入
- 在最终回调中嵌套异步函数如何工作
- 了解嵌套组件绑定在 KnockoutJS 上的工作原理
- 嵌套的单击事件无法按要求工作
- 使用jQuery在我的嵌套条件语句中没有任何工作
- 嵌套ng重复不工作angularJS
- Rails自动完成可以在父形式中工作,但不能在嵌套形式中工作.为什么
- 嵌套的子指令根元素如何在父级的同一级别工作's指令根元素
- Ember手柄嵌套,每个都不工作
- 嵌套可排序无法工作(无拖放)
- 缩小是如何工作的,它会影响有角度的嵌套对象吗
- 帆中的嵌套模型和控制器不是工作策略
- 嵌套函数不工作在JavaScript (YouTube API)