JSRender - 基于财产的集团

时间:2014-04-11 14:19:52

标签: jsrender

我有一个看起来像这样的JSON数组:

[{ Title: "Bing", Url: "bing.com", Category: "CAT1 }, { Title: "MSDN", Url: "msdn.com",
Category: "CAT1 }, { Title: "Pinterest", Url: "pinterest.com", Category: "CAT2" }];

我想创建一个对这些组合的渲染模板:

<div>CAT1</div>
<div>Bing</div>
<div>MSDN</div>

<div>CAT2</div>
<div>Pinterest</div>

我认为如果我的JSON嵌套会更容易,但事实并非如此。我很感激任何指导!

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是首先对数组进行排序(或克隆它,然后对克隆进行排序),以便按类别对其进行排序。

现在迭代排序的数组:

{{for mySortedArray ~array=mySortedArray}}
    {{if !#index || ~array[#index-1].Category !== Category}} 
        <div>{{:Category}}</div>
    {{/if}}
    <div>{{:Title}}</div>
{{/for}}