我在我的项目中使用Backbone.js。 我在另一个视图的渲染函数中创建了一个新的视图实例
render: function (data) {
var newView = new View();
}
需要一次又一次地调用相同的渲染功能而不刷新页面。如果我这样做,它会创建多个实例。 如何在创建新实例之前销毁/隐藏先前创建的实例?
答案 0 :(得分:1)
存储对您的视图的引用,然后在使用view.remove
/ view.undelegateEvents
/自定义代码创建新实例时将其销毁,以完全分离它:
render: function() {
if (this.subview)
this.subview.remove();
this.subview = new View();
}
答案 1 :(得分:0)
以下是一种简单的方法。我已多次使用它了。
假设您声明了一个全局变量(比如'globalHandle
)
render: function (data) {
if(globalHandle.newView)
return globalHandle.newView;
var newView = new View();
globalHandle.newView = newView;
}
此外,您可以从应用程序的任何部分引用globalHandle.newView
来检查它是否存在。