即使我明确定义了路由,我的应用仍会继续生成默认路由。我想我忽略了一个命名约定,但是使用谷歌搜索,stackoverflowing,讨论.emberjs.com在电脑上的老式诅咒还没有让我到任何地方。在“ember-app-kit”中被忽略的“新”路由
应用程序/ router.js
var Router = Ember.Router.extend();
Router.map(function(){
this.resource('things', function() {
this.route('new');
});
});
export default Router;
应用程序/路由/ things_new.js
var ThingsNewRoute = Em.Route.extend({
model: function() {
window.console.log('hello hello');
return this.store.createRecord('thing');
}
});
export default ThingsNewRoute;
参观http://localhost:8000/#/things/new
模板呈现良好,没有错误。从Ember的日志输出:
generated -> route:application Object {fullName: "route:application"} ember.js:415
generated -> route:things Object {fullName: "route:things"} ember.js:415
generated -> route:things.new Object {fullName: "route:things.new"} ember.js:415
generated -> controller:application Object {fullName: "controller:application"} ember.js:415
Rendering application with default view <(subclass of Ember.View):ember267> Object {fullName: "view:application"} ember.js:415
generated -> controller:things Object {fullName: "controller:things"} ember.js:415
Rendering things with default view <Ember._MetamorphView:ember283> Object {fullName: "view:things"} ember.js:415
generated -> controller:things.new Object {fullName: "controller:things.new"} ember.js:415
Rendering things.new with default view <Ember._MetamorphView:ember293> Object {fullName: "view:things.new"} ember.js:415
Transitioned into 'things.new' ember.js:415
Ember Debugger Active
问题是这样的:
generated -> route:things.new Object {fullName: "route:things.new"} ember.js:415
因为我定义它,它不应该产生这样。是否有一些我没有遵循的文件命名约定?
也在Chrome浏览器中查看Ember Inspector。在ThingsNewRoute在“自己的属性”:
routeName: things.newSend
controller: (generated things.new controller)
lastRenderedTemplate: things.new
teardownOutletViews: [ function() { ... } ]
你正在为你的项目使用哪个构建工具? – chrmod
@chrmod,他正在使用ember-app-kit – intuitivepixel
[ember-app-kit](https://github.com/stefanpenner/ember-app-kit) – veidt