余烬 - 观察全球和注入的属性

时间:2013-11-14 11:39:21

标签: javascript ember.js

我正在使用ember-auth来管理我的ember应用程序中的会话。 Ember-auth提供了一个auth对象,可以在每个路径和控制器中自动注入。

我的应用程序中有一个用户注册路由。如果用户在此路线中登录,我希望将用户从此路线转移出去。为此,我提出了这个代码:

App.RegisterRoute = Em.Route.extend({
    // redirect the user if he is already logged in
    redirect: function() {
        if (this.auth.get('signedIn')) {
            this.transitionTo('index');
        }
    },


    //check if user logged in and redirect him if he did
    loginStatusChanged: (function() {
        if (this.auth.get('signedIn')) {
            this.transitionTo('index');
        }
    }).observes('auth.signedIn'),

    setupController: function(controller) {
        controller.set('user', App.User.create());
    },
});

然而,代码可以工作,观察者会在每条路径中触发,而不仅仅是当用户处于注册路径时。

我现在的解决方案是获取当前路线,检查它是否等于'注册',然后才进行转换。这似乎并不理想。这样做是否有“蠢货”?

0 个答案:

没有答案