1

ルーターを使用してこれを作成するにはどうすればよいですか?

var itemView = Marionette.ItemView.extend({

     events: {
         'click #loadPage': 'loadPage'
     },

     loadPage: function () {
         document.location.hash = '#tasks/' + this.model.get('id');
     }

});
4

2 に答える 2

3

documentationによると、 router.navigateは単純に Backbone.history にプロキシしているだけであり、これはグローバルであるため、問題なく使用できるはずです。

Backbone.history.navigate("#tasks/", { trigger: true })

期待どおりの{trigger: true}オプションはハッシュの変更をトリガーし、そのルートが登録されている場合にルーターが反応できるようにします。

于 2012-06-29T21:49:10.677 に答える
0

Router インスタンスには「グローバル」変数が必要です。

次に、この方法でその変数を呼び出します。

// yourRouter was defined in your main controller like this: 
// var YourRouterClass = Backbone.Router.extend({ 
// stuff of your own Router
// });
// var yourRouter = new YourRouterClass(); <- this is your global router instance
yourRouter.navigate('tasks/'+this.model.get('id'), {trigger : true});
于 2012-07-03T14:17:06.440 に答える