Ember.js 余烬从特定路线排除混入

Ember.js 余烬从特定路线排除混入,ember.js,Ember.js,我有一个用于授权检查的mixin,它包含在应用程序路由中,以便所有其他路由都可以访问该mixin,而无需显式导入它。但是,我想将我的登录路径从继承中排除。我怎样才能做到这一点?一种解决方法是在所有路由中单独导入mixin,但这很容易出错,除非我确定没有出路,否则不想使用它 谢谢。那是不可能的!所有路由都嵌套在应用程序路由中 最好为所有经过身份验证的路由(例如,/main)设置另一个父路由,您可以在此处扩展mixin 其他路径,如登录、注册、忘记密码,。。etc将从已验证的路由中退出。您不能让mi

我有一个用于授权检查的mixin,它包含在应用程序路由中,以便所有其他路由都可以访问该mixin,而无需显式导入它。但是,我想将我的登录路径从继承中排除。我怎样才能做到这一点?一种解决方法是在所有路由中单独导入mixin,但这很容易出错,除非我确定没有出路,否则不想使用它


谢谢。

那是不可能的!所有路由都嵌套在应用程序路由中

最好为所有经过身份验证的路由(例如,
/main
)设置另一个父路由,您可以在此处扩展mixin


其他路径,如登录、注册、忘记密码,。。etc将从已验证的路由中退出。

您不能让mixin路由层次结构知道,这样您就只需要在父路由中混合它吗?ember simple auth就是这样做的。你能分享一些伪代码来帮助理解吗?那么,在这种情况下,我是否只需在main中导入mixin,它的所有子项都将继承mixin。将尝试此操作。从技术上讲,子对象不会继承mixin。但由于它们嵌套在主路由下,通过扩展mixin添加到主路由的身份验证检查将在加载子路由之前进行。因此,是的,只需在主路由中扩展mixin。这种方法的一个缺点是URL将显示为main/*如main/profile、main/dowork等。如何克服这个问题?我们实际上是在www.hyperlogs.com上这样做的,你甚至可以在对讲机上看到它的作用。您会注意到应用程序路由都嵌套在/a下,因此您可以将主路由别名为“a”。。。所以,登录名应该是/login,但是说user/edit应该在main中,url应该是/a/user/edit,我认为没有解决方法。我的main路由定义是'this.route('main',{resetNamespace:true,path:'/a'},function(){`