2013-05-07 47 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