Очистка просмотров с помощью backbone.js?
Я работаю над backbone.js-приложением и дошел до того, что у меня есть несколько маршрутизаторов и представлений, представляющих каждую часть моего приложения. В приведенном ниже упрощенном примере маршрутизатора у меня есть два местоположения;account
& users
.
Оба представления в каждом месте отображают свое содержимое в общий элемент с именем#appcontainer
, Мой здравый смысл говорит, что я должен убедиться, чтоremove
каждое представление перед запуском другого, чтобы предотвратить столкновения в привязках, DOM и еще много чего.
Но так как я не могу точно знать, был ли вид уже создан, я не могу явно вызватьpreviousView.remove()
либо изнутри моего роутера или просмотров.
Будет ли достаточно добавить$(this.el).empty()
чтобы конструктор каждого представления очищал любые возможные предыдущие привязки и элементы из DOM?
Вот пример роутера?
var myRouter = Backbone.Router.extend({
routes: {
"account": "account",
"users": "users"
},
account: function() {
view = new AccountView({});
view.render();
},
users: function() {
view = new UserView({});
view.render();
}
});