我正在嘗試執行路由器事件並使用路由器的發送功能來觸發路由器上的事件。但無法獲得任何文件。
我想實現的是我從控制器/視圖引發事件從服務器獲取數據。事件異步地從服務器獲取數據,並且當數據成功獲取時,我想從我稱之爲事件的位置初始化視圖的子視圖,即我需要知道數據何時被獲取。但我不認爲路由器上的事件會返回任何可以讓我知道呼叫何時結束的事件。
喜歡的東西:
查看:Em.Route#發送一些幫助?
Em.View.extend({
click: function(){
var recordsPromise = this.get('controller.target').send('getRecords');
recordsPromise.done(this.initiateProtocol);
},
showChild: false,
initiateProtocol: function(){
//this showChild is used as a condition in the template to show/hide
// the childview. And is being set after the call completed
// successfully
//here childOneView is present some other js file and is fetched using requirejs
require(['childOneView'], $.proxy(function(childOneView){
this.set('childOne', childOneView.extend({
templateName: 'childOne'
});
this.set('showChild', true);
}, this));
}
}
路由器
Em.Route.extend({
events: {
getRecords: function(){
//make an ajax call to fetch the records and return the ajax as a
// promise
}
}
});
模板
您使用的餘燼數據? – intuitivepixel 2013-05-02 15:09:20
@intuitivepixel不,我沒有使用燼數據。只需一個簡單的ajax調用服務即可。 – guleria 2013-05-02 15:11:25
你打算使用什麼框架來實現「承諾」?着名的discourse.org應用程序是用燼而不是燼數據使用這一個https://github.com/tildeio/rsvp.js – intuitivepixel 2013-05-02 15:16:52