2013-05-07 66 views
3

我想排序一个数组或用户获取由ember数据。我不知道排序数组是lastName。以下代码不能完成这项工作。我该如何解决它?如何使用sortProperties:['姓氏']

app.js

App.UsersRoute = Ember.Route.extend({ 
    model: function() { 
    return App.User.find(); 
    } 
}); 

App.UsersController = Ember.ArrayController.extend({ 
    sortProperties: ['lastName'], 
    sortAscending: true 
}) 

的index.html

<script type="text/x-handlebars" data-template-name="users"> 
    <table class='table table-striped'> 
     {{#each model itemController="user"}} 
     <tr> 
      <td>{{lastName}}</td> 
     </tr> 
     {{/each}} 
    </table> 
</script> 
+0

确实留下了itemController,只是渲染模型,只是好奇... – intuitivepixel 2013-05-07 22:24:28

+0

如果不定义'itemController'发生什么事分拣工作?这并不明显,为什么它不起作用。 – 2013-05-08 04:06:20

+2

尝试用'arrangeContent'替换'model' – 2013-05-08 04:56:07

回答

8

荣誉给Bradley Priest回答的问题。在模板中使用this可以做到这一点。

的index.html

<script type="text/x-handlebars" data-template-name="users"> 
    <table class='table table-striped'> 
     {{#each this itemController="user"}} 
     <tr> 
      <td>{{lastName}}</td> 
     </tr> 
     {{/each}} 
    </table> 
</script> 
+3

你可以看看如果'this'工作,而不是'arrangeContent',技术上Ember应该使用'arrangeContent'默认 – 2013-05-08 08:29:26

+0

'这个'也可以。 – wintermeyer 2013-05-08 11:33:32

+2

通过使用'model',您正在访问控制器的底层对象(与使用'content'相同)。通过'this'或'context'访问它,甚至将它留空,您将自动被委派到'arrangeContent' – 2013-05-08 15:49:02