如何确定ember-routemanager中的下一个状态?

时间:2012-04-25 22:20:56

标签: url-routing ember.js

如果我有一个像这样的3个州的路线管理员

App.routeManager = Ember.RouteManager.create({
rootElement: '#tabContent',
initialState: 'test1',

test1: Ember.ViewState.create({
    route: 'test1',
    view: Ember.View.extend({
        defaultTemplate: Ember.Handlebars.compile('test1')
    })
}),

test2: Ember.ViewState.create({
    route: 'test2',
    view: Ember.View.extend({
        defaultTemplate: Ember.Handlebars.compile('test2')
    })
}),

test3: Ember.ViewState.create({
    route: 'test3',
    enter: function (manager, transition) {
        var careView;
        require(['require', 'test3'], function (require) {
            test3View= require('test3');                 
        });
        this.set('view', test3View);
    },
    exit: function(){
        this._super();
    }
});

如何确定退出事件中下一步的状态?

1 个答案:

答案 0 :(得分:1)

您可以按照这一行执行某些操作,请参阅http://jsfiddle.net/pangratz666/zxLkt/

exit: function(manager, transition){
    var route = manager.get('location');
    var params = manager.get('params');
    var state = manager.getState(route, params);

    console.log(route, params, state);
}

你想用它做什么?你打算这样做的意图是什么?