How to subclass an Ember class using ES6 syntax in Ember CLI
我想在 Ember CLI 中创建一个自定义路由类。我有以下示例在使用全局变量编写的旧应用程序中工作:
1 2 3 4 5 6 7 | App.AuthenticatedRoute = Ember.Route.Extend({ beforeModel: function() { //Do some things } }); App.DashboardRoute = App.AuthenticatedRoute.Extend({}); |
我对 ES6 模块足够熟悉,知道这个例子看起来像这样......
1 2 3 4 5 6 7 | var AuthenticatedRoute = Ember.Route.Extend({ beforeModel: function() { // } }); export default AuthenticatedRoute; |
...但我对以下内容很好奇:
更新:
为了澄清我的问题:我一直在寻找有关这样的自定义实现应该位于何处的信息,而不是位于 app/routes 目录中的常规子路由。 Ember CLI 文档指出以下内容:
http://www.ember-cli.com/#module-directory-naming-structure
...但我在实践中找不到任何这样的例子,这似乎是一个不完整的约定。我最终将自定义实现视为标准路由(app/routes/authenticated.js)并根据需要导入。
如果你使用强烈推荐的 ember-cli,它会存在于
1 2 3 4 | import Ember from 'ember'; export default Ember.Route.extend({ }); |
然后你可以将它作为
导入到其他模块中