我在寫一個Ember應用程序來存儲有關位置的「建議」。如何連線相關型號/控制器
用戶必須從列表中選擇一個位置(由自定義API檢索),編寫描述,拍攝照片並使用該數據進行POST。
所以我有一個LocationModel和LocationController,它從我的API中檢索位置,將它顯示在列表中,並允許用戶選擇其中的一個。 然後一個DescriptionController和PhotoController,允許用戶寫描述並拍攝照片。
我需要在各個控制器/模型上擁有這些「部件」中的每一個,因爲我希望它們可以在我最終應用的其他部分上重複使用。
我的建議的模式是這樣的:
App.RecommendationModel = DS.Model.extend({
location: DS.BelongsTo('location'),
description: DS.BelongsTo('description'),
photo: DS.BelongsTo('photo')
});
相應的推薦模板:
<section id="select-location">
{{render "location" location}}
</section>
<section id="write-description">
{{render "description" description}}
</section>
<section id="take-photo">
{{render "photo" photo}}
</section>
<section id="send-recommendation">
{{render "share"}}
</section>
每個 '部分' 與一個 '完整' 的行動按鈕:
例如:
App.DescriptionController = Ember.Controller.extend({
actions: {
complete: function() {
_saveDescription(this.get('value'));
}
}
});
我的問題是如何「組裝」這些零件以實現RecommendationModel。
我認爲整個行動應該是這樣的:
App.DescriptionController = Ember.Controller.extend({
actions: {
complete: function() {
recommendation.set('description', this);
}
}
});
應該「完整」的行動是在RecommendationController呢?如果是這樣,我應該如何連接每個組件?
任何其他方法,將不勝感激。
謝謝!
太棒了!那就是訣竅。現在我必須找到一種方法將'推薦'控制器與其他控制器分離,以便稍後在我的應用程序中重用它們。謝謝! – tehsis