[英]Backbone: not correct view after redirect
我是Backbone的新手,從知名開始就遇到了一個問題,想知道如何用主視圖的意外行為解決問題。 1.我啟動頁面,看起來不錯。 2.我單擊按鈕可將我引向不同的視圖,並向我展示它。 3.單擊“后退”按鈕,我看到一個空白頁,但是在DOM中,我可以從以前的視圖中找到一些元素,但看不到。
這是我的路由器代碼的一部分(我希望這足夠了):
home: function () {
if (!app.leftMenuView) {
app.leftMenuView = new app.views.LeftMenuView({
el: $("#left_menu")
});
} else {
app.leftMenuView.delegateEvents();
}
if (!app.homeView) {
app.homeView = new app.views.HomeView({
el: $("#main_container")
});
} else {
app.homeView.delegateEvents();
}
if (!app.topMenuView) {
app.topMenuView = new app.views.topMenuView({
el: $("#top_menu")
});
} else {
app.topMenuView.delegateEvents();
}
},
search: function () {
app.searchView = new app.views.SearchView({
el: $("body")
});
},
一個主要的html文件:
<body>
<div id="search-div"></div>
...
</body>
主視圖:
app.views.HomeView = Backbone.View.extend({
initialize: function () {
this.render()
},
render: function () {
var self = this;
$.get('/template/home.html', function (data) {
self.$el.html(_.template(data)({}));
});
return this;
},
});
一個SearchView:
app.views.SearchView = Backbone.View.extend({
events: {
"click #left-arrow-icon": "toMainPage"
},
initialize: function () {
this.render();
},
render: function () {
var self = this;
$.get('/template/searchView.html', function (data) {
self.$el.html(_.template(data));
});
return this;
},
toMainPage: function () {
Backbone.history.history.back();
},
});
在提供的示例中,搜索視圖(如果呈現)將破壞主要的html文件內容,因為提供的元素直接是正文。 無論如何,如果您轉到搜索視圖,則您的主頁將被破壞或無法再呈現。
我建議改善布局管理:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.