我想循環播放我認爲是Ember的諾言,但是我似乎能夠返回的所有內容都是一個對象,當它應該是一個數組時。循環播放Ember.js諾言
jsbin:http://emberjs.jsbin.com/qakine/1/edit
如果我剛過模板的項目環那我也沒問題,但我希望能在我的控制器的陣列項目互動。任何幫助讚賞。
我想循環播放我認爲是Ember的諾言,但是我似乎能夠返回的所有內容都是一個對象,當它應該是一個數組時。循環播放Ember.js諾言
jsbin:http://emberjs.jsbin.com/qakine/1/edit
如果我剛過模板的項目環那我也沒問題,但我希望能在我的控制器的陣列項目互動。任何幫助讚賞。
這裏不少東西,讓我看看,如果我能把它們都記住:
當你有一個資源下的路線,這條路線的路線和控制器應該拿自己父母的名字。
App.Router.map(function() {
this.resource("parent", function(){
this.route("child");
});
});
App.ParentChildRoute...
App.ParentChildController...
把手無法從您的控制器訪問正常的功能,應將其轉換爲計算屬性。
App.ParentChildController = Ember.ObjectController.extend({
middleNames: function(){
...
}.property('middles.[]')
});
命名是區分大小寫的
{{#each name in middlenames}}
應該
{{#each name in middleNames}}
我創建了一個基於你的一個新的例子,把事情說清楚。您可以點擊此處查看:
http://emberjs.jsbin.com/hokabe/4/edit
爲了灰燼航線的model
掛鉤,如果返回值是一個承諾,該航線將等待解決的承諾,並通過解析值到控制器的model
財產。
而一個App.Parent
實例的middles
屬性返回一個承諾(實際上它是一個DS.PromiseArray
實例),這將解決中段陣列(實際上它是一個DS.ManyArray
實例)。
所以讓孩子們可以簡單地這樣做:
App.ParentMiddlesRoute = Ember.Route.extend({
model: function() {
return this.modelFor('parent').get('middles');
}
});
注意modelFor
參數是一個路徑名稱,但不是一個型號名稱。它意味着「從給定路線獲取模型」。
你從哪裏學習.property('middles。[]')?我似乎無法在這裏找到任何文檔:http://emberjs.com/guides/object-model/computed-properties/ – 2014-09-23 13:35:25
哦,我設法找到答案在這裏:http://emberjs.com/ API /班/ Ember.Array.html#property__ – 2014-09-23 17:06:10