我試圖建立以下觀點與Ember.js:Ember.js得到複合的數據對每個項目
Users: (x in total)
* User 1: y Posts
* User 2: z Posts
我創建了一個itemController
,負責讓每個職位的數目用戶。
App.IndexItemController = Ember.ObjectController.extend({
postCount: function() {
var posts = this.get('content').get('posts');
return posts.get('length');
}.property()
});
關於jsbin的完整代碼。
不知何故,我總是得到每個用戶0職位,我想這是因爲關係不正確解決在this.get('content').get('posts')
。什麼是正確的方式來做到這一點?或者我會完全錯誤的方式?
獎勵問題:我可以傳遞給property()
什麼,我應該傳遞一些信息給它?
嘿感謝您的回答!這是否意味着'posts'屬性包含用戶創建的所有帖子的ID? – wowpatrick
不客氣。如果你有一個id等於1的用戶實例,'user.get('posts')'將獲取與他的用戶相關的帖子,按照上面的例子,它將檢索一個ID爲1的帖子。請記住因爲我們使用'async:true'來返回'user.get('posts')',不是郵件本身,而是一個承諾。所以你需要使用'user.get('posts')。then(function(posts){posts [0]/* post instance * /})' –
當然你只需要與prommise交互,如果你想要加載控制器內部的帖子,路由等。在模板內部,只需使用路徑引用對象即可,而且ember將足夠智能以處理異步代碼 –