从另一个对象扩展的Backbone View后,检测片刻的最佳方法是什么?
JsFiddle补充道: http://jsfiddle.net/simmoniz/M5J8Q/1917/ 如何在不改变视图的情况下使#32行正常工作......
Thanks in Advance
答案 0 :(得分:0)
查看生命周期管理是骨干核心缺少的重要事项之一。
所有非平凡的应用程序最终都需要解决此问题。您既可以自己动手,也可以使用牵线木偶或卓别林等。
基本上,骨干网没有视图破坏或处理的概念。听众应该被解除绑定的时间点。这是主干应用程序中最大的内存泄漏源。
答案 1 :(得分:0)
我终于想出了一个有效的解决方案。由于添加的元素是Backbone视图(简单或扩展),因此它具有删除功能。此解决方案将删除功能替换为新的"删除"执行相同操作但触发"删除"之前的事件。听众现在可以抓住它。效果很好:
var ev = new $.Event('remove'),
orig = $.fn.remove;
view.remove = function() {
$(this).trigger(ev);
return orig.apply(this, arguments);
}
然后我们可以听取"删除"像我的问题中的事件
view.bind('remove', _.bind(this.onRemove, this));
答案 2 :(得分:-1)
在视图内
事件:{ “删除”:“某些功能”, },