[英]Ember.js - How can I transition to another route from an initialiser?
我正在使用初始化程序連接到套接字服務器。 經過一段設定的時間后,我想重定向到另一條路由(處理錯誤)。
我如何從初始化程序中執行此操作?
當前代碼如下:
/* Socket Initializer */
export default {
name: 'Socket',
initialize: function(Container, Application) {
Application.deferReadiness();
var IO = Container.lookup('socket:main');
IO.connect({
reconnectionDelayMax: 1000
});
IO.socket.on('connect', function(){
Application.advanceReadiness();
});
var RetryCounter = 0;
IO.socket.on('connect_error', function(Error) {
if (RetryCounter == 2) {
//this.transitionTo('development');
//Application.transitionTo('development');
//Container.transitionTo('development');
// None of the above work.
}
RetryCounter++;
});
}
};
您可以從容器中獲取路由器,然后從容器中調用transitionTo。
var router = container.lookup('router:main');
router.transitionTo('foo');
人為的示例: http : //emberjs.jsbin.com/bukuvuho/3/edit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.