2015-01-09 107 views
1

如果我在我的索引路由中定義了beforeModel掛鉤,認證似乎會被跳過。 也許這會覆蓋mixin的beforeModel ...AuthenticatedRouteMixin:當路由掛鉤被覆蓋時沒有重定向

例如:直到我從路由中刪除'beforeModel'後,以下才會重定向到/ login。 同樣關於「afterModel」和可能的其它鉤

// app/routes/index.js 
import Ember from 'ember'; 
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin'; 

export default Ember.Route.extend(AuthenticatedRouteMixin,{ 
beforeModel : function(){ 
    // empty function 
    } 
}); 

任何幫助,將不勝感激。 我想要做的是從路線到路線的簡單轉換。例如。當URL很簡單時,請轉到/ users/userlist /用戶

回答

3

這將覆蓋mixin的實現方式,正如您已經建議的那樣。您需要致電this._super(transition);

beforeModel: function(transition, queryParams) { 
    this._super(transition, queryParams); 
    … 
} 
+0

試過這個。它給了我在控制檯中的以下錯誤:不能讀取屬性'中止'的未定義TypeError:無法讀取屬性'中止'的未定義 – balafi

+0

讓我注意到,如果路由不使用mixin 。所以,當在路由中使用mixin時,調用this._super();在控制檯中引發錯誤。 – balafi

+0

你需要通過轉換參數 - 修正了上面的答案 – marcoow