0
我有如下圖所示具有與它相關聯的兩個型號的路線:EmberJS:從路徑檢索模型時,多個模型檢索
App.IndexRoute = Ember.Route.extend({
model: function() {
return Ember.RSVP.hash({
sites: this.store.find('site'),
songs: this.store.find('song')
})
},
現在以後,我需要能夠檢索到的第一個對象在sites
模型中,以便進行轉換,我將在下面顯示。我想我可以使用setupController
設定的車型,但與多個模型打交道時如上depicated,我不知道如何填寫這一部分:
setupController: function(controller, ???) {
controller.set('model1', ???);
controller.set('model2', ???);
}
最後,我想能夠檢索模型1的第一個對象(它是site
多個實例如上所述)
afterModel: function() {
firstRecord = this.('sites').objectAt(0);
this.transitionTo('site', firstRecord.id);
}
這也有可能是我沒有正確設計我的應用程序。在這種情況下,sites
是我構建的一個組件,它在幾個不同的控制器內顯示不同的站點。控制器依賴於這個組件,因爲他們需要知道爲了完成自己的事情而選擇了哪個站點。因此,在需要訪問該組件控制器,我做這樣的事情:
{{site-nav sites=sites}}
哪裏site-nav
是我的組件。它需要自己的模型,控制器本身也是如此。
我相信我在這裏傳遞一個null對象給transitionTo()。試過你的解決方案,並看到這個在燼控制檯:載入路由時出錯:TypeError:undefined不是一個函數 – randombits
嘗試將其記錄到控制檯,並看到你得到什麼。 – NicholasJohn16
是的 - 試了這個。 console.log(「model:」+ models.get('sites')。get('firstObject'));不提供任何東西。 – randombits