0

我有状态

mysite.com/#/index 这是初始化时加载的默认页面

还有其他子路由 mysite.com/#/about mysite.com/#/contact

如果有人键入 mysite.com/#/about 我可以控制 substate about 的加载吗?

4

1 回答 1

1

只要您在路由器中定义了路由 (URL),Ember 路由器就会自动执行此操作。

当输入 URL mysite.com/#/about 时,如下所示的内容将自动导航到正确的状态。如果您想控制进入和退出该状态时发生的情况,请在 enter() 和 exit() 函数中指定它。

App.router = Ember.Router.create({
    enableLogging: true,
    //location: 'history',
    root: Ember.Route.extend({
        home: Ember.Route.extend({
            route: '/',
            redirectsTo: 'index'
        }),
        index: Ember.Route.extend({
            route: '/index',
            connectOutlets: function (router) {
                router.get('applicationController').connectOutlet('index');
            }
        }),
        about: Ember.Route.extend({
            route: '/about',

            enter: function() {
                //stuff
            }

            exit: function() {
                //stuff
            }

            connectOutlets: function (router) {
                router.get('applicationController').connectOutlet('about',);
            }
        })
    })
});
于 2012-11-28T09:54:19.367 回答