如果Backbone View在其render()方法中创建新视图,那么这些视图是否应该作为数据成员维护?典型的渲染方法如下所示:
render: function() {
var myView = new MyView({ model: values });
$('div#value', this.el).append(myView.render().el);
}
Run Code Online (Sandbox Code Playgroud)
这种渲染方法的链接意味着嵌套的视图实际上只是创建,因此它也可以链接任何渲染方法并返回一个构造良好的元素.我假设视图留给垃圾收集?
如果要修改嵌套视图......可能很重要,是应该(重新)创建,还是应该通过数据成员引用进行修改?
我遇到的问题是嵌套的视图接收事件,要求他们修改自己的嵌套视图,有时他们的父视图.
我真的不想在各地开始投掷听众.传递对父视图的引用并从子视图调用render()会导致内存泄漏,因为父视图会创建一个新的子视图,而原始子视图会维护对其父视图的引用!
目前它不像框架那样.有没有人有任何资源可以帮助我以类似框架的方式解决这个问题?
backbone.js ×1