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'
})
})
});
我得到一個錯誤說: 「您必須在當前狀態‘root.index’鏈接到它的事件指定一個目標狀態‘goHome2’。」
如何在這裏定義一個處理程序,以便我可以返回false並停止傳播,例如?我是否應該在視圖中這樣做,以及如何做到這一點?
謝謝。
對不起,我可以給你一個提示。當你在模板中刪除'href = true'時,這似乎工作......但我還沒有明白這是什麼意思:( – 2012-08-03 23:57:18