http://jsfiddle.net/pauldechov/u4naE/
App.Router = Em.Router.extend({
enableLogging: true,
root: Em.Route.extend({
index: Em.Route.extend({
route: '/',
connectOutlets: function(router) {
router.get('applicationController').connectOutlet('application');
}
}),
// why does this work?
goHome: Em.Route.transitionTo('home'),
// ...but not this? Am I missing something?
goHome2: function(router, context) {
router.transitionTo('home', context);
},
home: Em.Route.extend({
route: 'home'
})
})
});
我收到一条错误消息: “你必须为事件'goHome2'指定目标状态,以便在当前状态'root.index'中链接到它。”
如何在此处定义处理程序,例如,我可以返回false并停止传播?我是否应该在视图中实际执行此操作,以及如何完成此操作?
谢谢。
答案 0 :(得分:1)
好的,我想我已经找到了。使用href =“true”时,必须指定函数goHome2是eventTransition。见http://jsfiddle.net/Sly7/u4naE/2/