XSLT允许您在使用模板呈现节点时对节点进行排序。 Linked In的dust.js版本有这个吗?
如果有,如果我有这个JSON视图:
{
people: [
{ name: "Fred", sort_order: 3 },
{ name: "Harry", sort_order: 2 },
{ name: "Linda", sort_order: 4 },
{ name: "Mary", sort_order: 6 },
{ name: "Bob", sort_order: 5 },
{ name: "Joey", sort_order: 1 }
]
}
我想要这个输出:
乔伊
哈里
弗雷德
琳达
鲍勃
玛丽
模板与简单模板有何不同?
{#people}
<br/>{name}
{/people}
这将在浏览器中执行。
答案 0 :(得分:4)
要在Dust中执行此操作,您需要编写一个帮助程序来进行排序。如果这个数据操作应该在灰尘模板中完成,或者在传递数据的上面的层中完成,那么可能会有一个健康的争论。
您可以在此处找到有关编写防尘帮手的详细信息:
以下是排序助手的示例:
dust.helpers.customSort = function (chunk, context, bodies, params) {
params.items.sort(function(a, b) {
return ((a.sort_order < b.sort_order) ? -1 : ((a.sort_order > b.sort_order) ? 1 : 0));
});
return chunk;
};
以下是它的工作原理:http://jsfiddle.net/jamsyoung/k3SNN/
答案 1 :(得分:0)
添加Dust Context Helper!
"helperName": function(chunk, context, bodies, params) {
var val = context.get("nameOfProperty");
nameOfProperty.sort(function(a, b) {
return a.nameOfProperty[param] - b.nameOfProperty[param];
});
return racers;
}
此处详细信息Dust.js比赛获胜者示例