0

http://jsfiddle.net/paultechov/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 を返して伝播を停止できるように、ここでハンドラーを定義するにはどうすればよいでしょうか? ビューで実際にこれを行う必要がありますか?それはどのように行われますか?

ありがとうございました。

4

1 に答える 1

1

わかりました、私はそれを見つけたと思います。href = "true"を使用する場合は、関数goHome2がeventTransitionであることを指定する必要があります。http://jsfiddle.net/Sly7/u4naE/2/を参照してください

于 2012-08-04T00:09:48.290 に答える