我正尝试在我的 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 的源代码时,我从未设置位置的“散列”属性 - 应该在浏览器触发某种散列事件时设置。
我走在正确的轨道上吗?我该如何解决这个问题?
最佳答案
只有叶子路由是可路由的,当输入'/'时,路由器不知道他要去哪里。 我建议你定义一个索引路由,它只重定向到叶路由。 例如:
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'
})
})
})
关于javascript - 在 Ember 1.0.0 pre 中路由时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951720/