當我點擊第一頁的'取消' - 沒關係。但是當我移動到'第二頁'時,'取消'不起作用。在這種情況下,路由器將應用重定向到路由。 我需要防止此重定向。如何防止Backbone.js中的路由?
「取消」 - 隱藏鏈接,「第二頁」 - 移動到第二頁
<script type="text/html" id="template">
<a href="#" class="cancel">Cancel</a>
<a href="#second">Second page</a>
</script>
<div id="container"></div>
<script>
var View = Backbone.View.extend({
template: $('#template').html(),
events: {
"click .cancel": "cancel"
},
cancel: function() {
this.$el.hide();
},
render: function() {
this.$el.html(this.template);
return this;
}
});
var AppRouter = Backbone.Router.extend({
routes: {
"": "first",
"second": "second"
},
創建視圖並更換容器的HTML
links: function() {
var view = new View;
$('#container').html(view.render().el);
},
second: function() {
this.links();
$('#container').prepend("<h1>Second page</h1>");
},
first: function() {
this.links();
$('#container').prepend("<h1>First page</h1>");
}
});
$(document).ready(function() {
app = new AppRouter;
Backbone.history.start();
});
</script>
只是e.preventDefault() – rcarvalho