我有一个应用程序,我正在尝试使用ember-routemanager。(我将rake-pipeline
其用作构建环境,但我认为这无关紧要。或者是吗?)问题是,该应用程序似乎忽略了位置栏中的路线。
这个 jsfiddle显示了状态管理器正确设置和进入入口状态。两秒半后,脚本运行App.stateManager.set('location', 'desktop');
,根据 ember-routemanager README 应该将我移动到以“桌面”作为其路由参数的状态(对吗?)。但事实并非如此。
(这是尽可能接近在 jsfiddle 中克隆问题的方法,我无法轻易在位置栏中放置路径。当我在开发环境中执行此操作时,例如http://localhost:9292/desktop或http://localhost:9292/#desktop,很明显应用程序没有使用路径;它返回“Entity not found: /desktop”。)
请注意,使用而不是设置的同一小提琴的另一个版本工作得很好。goToState
location
我究竟做错了什么?
代码:
Sylvius.stateManager = Ember.RouteManager.create({
initialState: 'launch',
enableLogging: true,
wantsHistory: true,
launch: Em.ViewState.create({
view: Sylvius.LaunchView,
}),
desktop: Em.ViewState.create({
view: Sylvius.DesktopView,
route: 'desktop',
sectionSelected: Em.State.create({
route: ':sectionSlug',
enter: function(manager, transition) {
console.log('We found the slug: ' + Sylvius.stateManager.getPath('params.sectionSlug'));
}
})
})
});