0

我刚刚将我的 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 视图中手动将 this.el 设置为特定的 DOM 元素,那么您将希望使用 setElement 代替。

它仍然不清楚 view.el 和 view.$el 之间的区别。也许有人可以为我解决这个问题。

4

1 回答 1

1

view.$el相当于$( view.el )。这是一种方便,因此您不必招致重复调用 jQuery 构造函数的麻烦和额外开销。您可能希望构建您的代码(如果可能),这样您就不需要手动设置el和调用setElement. 例如,您可以查看对另一个问题的回答。

于 2012-04-30T16:23:01.027 回答