我正在尝试使用以下内容在我的ember应用中创建路由:
app= Ember.Application.create({
ApplicationController: Ember.ObjectController.extend(),
ApplicationView: Ember.View.extend(),
Router: Ember.Router.extend({
root: Ember.Route.extend({
route: '/',
aRoute: Ember.Route.extend({
route: '/routeA'
}),
bRoute: Ember.Route.extend({
route: '/routeB'
})
})
})
});
app.initialize();
但是当错误打开页面时,它会自我:
Uncaught Error: assertion failed: Could not find state for path
当深入挖掘一下ember的源代码时,我永远不会设置location的“hash”属性 - 应该在浏览器触发某种哈希事件时设置。
我是否在正确的轨道上,如何解决这个问题?
答案 0 :(得分:3)
只有叶子路由是可路由的,当输入'/'时,路由器不知道他必须去哪里。 我建议你定义一个索引路由,它只重定向到叶子路由。 例如:
Router: Ember.Router.extend({
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
redirectsTo: 'aRoute'
}),
aRoute: Ember.Route.extend({
route: '/routeA'
}),
bRoute: Ember.Route.extend({
route: '/routeB'
})
})
})