次のボタン クリックは、ルーティング後ではなく、ページの読み込み時にのみ機能します。1) デフォルト ページを表示する 2) 「ここをクリック」ボタンをクリックする (これは機能します) 3) 他のボタンをクリックしてルーティングします (ページをリロードせずに、コンテンツをクリアし、新しいビューを作成して、デフォルト ページに戻すオプションを指定します) 4) オプションをクリックしてデフォルトに戻します。5) リロードせずに、デフォルトのページを再描画します。6) 「ここをクリック」ボタンをクリックします(これは機能しません) 。
ここにコードがあります
var LPRouter = Backbone.Router.extend({
initialize: function (options) {
this.pageContent = $('#pageContent');
},
routes: {
'AA': 'routerMethod',
'': 'defaultMethod'
},
defaultMethod: function () {
//TODO: Set page title.
var self = this;
self.pageContent.empty();
if (!self.someView) {
self.someView = new SomeView();
self.someView.render();
}
self.pageContent.append(self.someView.el);
/*
Create a view with some link or button which will redirect to routerMethod.
*/
},
routerMethod : function() {
this.pageContent.empty();
/*
Create a view with some link or button which will redirect to defaultMethod.
*/
}
});
var SomeView = Backbone.View.extend({
tagName: "div",
className: "someclass",
initialize: function (options) {
},
hammerEvents: {
'tap .innerclass': 'someMethod'
},
someMethod: function (e) {
alert("did you click me?");
},
render: function () {
this.$el.append("<div class='innerclass'><input type='button' value='click here'/></div>");
return this;
}
});