我剛開始使用ember並試圖做一個簡單的測試。 其中,也很簡單,讓我卡住了一些原因,我無法找到答案的任何地方。在不改變路線的情況下從動作函數中加載/重新加載數據
所以我需要從服務器加載數據而不轉換到另一條路由,並從submit
動作(或針對該事件的任何其他動作)內執行此操作。
我有一個簡單的輸入表單,我手動輸入一個對象ID和 我希望它被加載,正好在下面。夠簡單。接縫是角度三分鐘的工作。在這裏,我只是無法獲得路由和控制器之間的溝通。
所以給這個小徽
form submit="submit"
= input type="text" value=oid
button type="submit" Submit
#display
= person
而且這條路
import Ember from 'ember';
export default Ember.Route.extend({
model: {
person: null
},
actions: {
submit: function() {
var oid = this.controllerFor('application').get('oid');
var person = this.store.find('person', oid);
this.modelFor('application').set('person', person);
}
}
});
這是據我能想到。我想單擊一個對象的ID提交,我希望該對象加載並顯示在div#顯示。
那麼我做錯了什麼?什麼是正確的做法?
首先,我甚至不知道把這種行爲放在哪裏?控制器或路由? 如果我把它放在控制器中,我不知道如何刷新模型。如果我把它放在路線上,我堅持以上。如果操作被放置在控制器中,看看如何去做也會很好。
爲簡單起見我只是做這一切在申請航線,模板,控制器...
謝謝