EmberJS:嵌套ArrayControllers排序问题

时间:2014-09-11 11:37:50

标签: sorting ember.js handlebars.js

我想对嵌套数组进行排序。为了对AFAIK进行排序,我们需要使用ArrayController。

我有一个数组,如下:

[{
    id : 1,
    voucherno: 1,
    details : [{id : 3, srno : 3}, {id :2,srno : 2}, {id : 1, srno : 1}]
},
{
    id : 2,
    voucherno: 2,
    details : [{id : 6, srno : 3}, {id : 5, srno : 1}, {id: 4, srno : 2}]
}]

我想根据srno对细节数据进行排序。在尝试了各种不同的事情之后,这就是我想出的。但它不起作用。

我的模特是:

App.Sale = DS.Model.extend({
  voucherno : DS.attr('number'),
  details : DS.hasMany('Detail',{ async: true })
});

App.Detail = DS.Model.extend({
  srno : DS.attr('number')
});

路线:

App.Router.map(function() {
this.resource('sales', {
    path: '/'
}, function() {
    this.resource('sale', {
        path: "/:sale_id"
    }, function() {
        this.resource('details');
    });
});
});

小提琴在这里:JSFiddle

Pl帮助,我看到了围绕这个的所有答案,但它们都没有为我工作。

1 个答案:

答案 0 :(得分:2)

纠正了你的问题。而是使用{{render}}来设置特定控制器。它不是排序问题。

http://jsfiddle.net/11b78Lpz/3/

基本上替换了销售模板中的{{outlet}}

<script type="text/x-handlebars" data-template-name="sales">
    <div class="container-fluid">
    <div >Voucher No</div>
        <div class="row">
        {{#each model}}
            <div class="row col-md-offset-2 col-md-4 ">{{voucherno}}</div>
            {{render details details}}
        {{/each}}
        </div>
    </div>
</script>