ルーターを使用してこれを作成するにはどうすればよいですか?
var itemView = Marionette.ItemView.extend({
events: {
'click #loadPage': 'loadPage'
},
loadPage: function () {
document.location.hash = '#tasks/' + this.model.get('id');
}
});
ルーターを使用してこれを作成するにはどうすればよいですか?
var itemView = Marionette.ItemView.extend({
events: {
'click #loadPage': 'loadPage'
},
loadPage: function () {
document.location.hash = '#tasks/' + this.model.get('id');
}
});
documentationによると、 router.navigateは単純に Backbone.history にプロキシしているだけであり、これはグローバルであるため、問題なく使用できるはずです。
Backbone.history.navigate("#tasks/", { trigger: true })
期待どおりの{trigger: true}
オプションはハッシュの変更をトリガーし、そのルートが登録されている場合にルーターが反応できるようにします。
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});