如何在 Ember CLI 中使用 ES6 语法子 class 一个 Ember class
How to subclass an Ember class using ES6 syntax in Ember CLI
我想在 Ember CLI 中创建自定义路由 class。我有以下示例在使用全局变量编写的旧应用程序中工作:
App.AuthenticatedRoute = Ember.Route.Extend({
beforeModel: function() {
//Do some things
}
});
App.DashboardRoute = App.AuthenticatedRoute.Extend({});
我对 ES6 模块非常熟悉,知道这个例子看起来像这样...
var AuthenticatedRoute = Ember.Route.Extend({
beforeModel: function() {
//
}
});
export default AuthenticatedRoute;
...但我对以下内容感到好奇:
- 这将位于应用程序结构中的什么位置?
- 如何在其他模块中访问此子class?
更新:
为了澄清我的问题:我正在寻找关于像这样的自定义实现应该存在于何处的信息,而不是存在于 app/routes 目录中的常规子路由。 Ember CLI 文档调用以下内容:
To provide a custom implementation for generated routes (equivalent to App.Route when using globals), use app/routes/basic.js.
http://www.ember-cli.com/#module-directory-naming-structure
...但我在实践中找不到任何这样的例子,这似乎是一个不完整的约定。我最终将自定义实现视为标准路由 (app/routes/authenticated.js) 并根据需要导入。
如果您使用强烈推荐的 ember-cli,它会存在于 app/routes/authenticated.js
中,看起来像这样:
import Ember from 'ember';
export default Ember.Route.extend({
});
然后您可以将其作为
导入到其他模块中
import authRoute from 'app/routes/authenticated'
我想在 Ember CLI 中创建自定义路由 class。我有以下示例在使用全局变量编写的旧应用程序中工作:
App.AuthenticatedRoute = Ember.Route.Extend({
beforeModel: function() {
//Do some things
}
});
App.DashboardRoute = App.AuthenticatedRoute.Extend({});
我对 ES6 模块非常熟悉,知道这个例子看起来像这样...
var AuthenticatedRoute = Ember.Route.Extend({
beforeModel: function() {
//
}
});
export default AuthenticatedRoute;
...但我对以下内容感到好奇:
- 这将位于应用程序结构中的什么位置?
- 如何在其他模块中访问此子class?
更新:
为了澄清我的问题:我正在寻找关于像这样的自定义实现应该存在于何处的信息,而不是存在于 app/routes 目录中的常规子路由。 Ember CLI 文档调用以下内容:
To provide a custom implementation for generated routes (equivalent to App.Route when using globals), use app/routes/basic.js.
http://www.ember-cli.com/#module-directory-naming-structure
...但我在实践中找不到任何这样的例子,这似乎是一个不完整的约定。我最终将自定义实现视为标准路由 (app/routes/authenticated.js) 并根据需要导入。
如果您使用强烈推荐的 ember-cli,它会存在于 app/routes/authenticated.js
中,看起来像这样:
import Ember from 'ember';
export default Ember.Route.extend({
});
然后您可以将其作为
导入到其他模块中import authRoute from 'app/routes/authenticated'