gpt4 book ai didi

Backbone.js - 删除所有 subview

转载 作者:行者123 更新时间:2023-12-03 12:29:42 25 4
gpt4 key购买 nike

我有一个顶级 PageView,只要路线发生变化,它就会重新呈现自己。我在此 PageView 中嵌入了许多嵌套的 subview 。如果我要重新渲染 PageView,我需要删除/取消绑定(bind)所有嵌套的 subview 以及 PageView,还是只需要删除/取消绑定(bind) PageView?如果我需要删除/取消绑定(bind)所有 subview ,最好的方法是什么?

最佳答案

是的,您需要正确删除和取消绑定(bind)它们:

http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/

最简单的方法是在父 View 中存储一个 subview 数组。然后在 close父 View 上的方法,遍历数组并调用 close subview 的方法:

ParentView = Backbone.View.extend({
initialize: function(){
this.childViews = [];
},

render: {
for (var i = 0; i < 10; i++){
var childView = new ChildView();
// do stuff with the child view
this.childViews.push(childView);
}
},

close: function(){
this.remove();
this.unbind();
// handle other unbinding needs, here
_.each(this.childViews, function(childView){
if (childView.close){
childView.close();
}
})
}
});

请务必调用 close当您准备好删除/替换父 View 时,父 View 上的方法。这将确保正确清理所有子级(假设所有子级都有自己的 close 方法)。

关于Backbone.js - 删除所有 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com