我刚刚将Backbone升级到0.9.2,当我执行view.remove()时,就像我使用旧版本一样,它不再适用于我。
我有一个名为processingView的popup.js视图,它只是在视图扩展中包含了一些jquery代码。我将其分配给一个名为processing的变量。 this.processing = new processingView(); 当我触发事件以从Dom中删除处理对象时说。 this.processing.remove()它不再被删除。如果我恢复到Backbone的旧版本,它可以工作。
任何人都有任何想法为什么会这样。 我的代码是大量的源文件,所以很难在这里粘贴所有这些。但就我正在尝试做的事情而言,应该直接从dom中删除一个视图对象。
解答我自己的问题
我在手动设置View.el
时没有使用setElement如果您曾在Backbone View中手动设置this.el作为特定的DOM元素,那么您将需要使用setElement。
仍然不清楚view.el和view之间的区别。$ el。也许有人可以为我理顺。
答案 0 :(得分:1)
view.$el
相当于$( view.el )
。这是一个方便,因此您不必承担重复调用jQuery构造函数的麻烦和额外开销。您可能希望构建代码(如果可能),这样您就不需要手动设置el
并调用setElement
。您可以在另一个问题中看到my answer作为示例。