如何检查 Backbone.View 当前是不是在 DOM 中呈现?
Posted
技术标签:
【中文标题】如何检查 Backbone.View 当前是不是在 DOM 中呈现?【英文标题】:How can I check if a Backbone.View is currently rendered in DOM?如何检查 Backbone.View 当前是否在 DOM 中呈现? 【发布时间】:2012-09-08 16:15:58 【问题描述】:我想检查 Backbone.View 当前是否在 DOM 中呈现,如果没有,我不必重新呈现它。我可以检查一下吗?
问候
【问题讨论】:
使用this.$el
作为jQuery对象的this question的半复制。
正如所选答案所示,它们完全不同。
【参考方案1】:
好吧,理论上你可以通过查询 DOM 来找出答案,但这比设置一个实例变量并在渲染之前查询它要慢得多。另一方面,渲染方法(假设一切设置正确)只应在模型更改时调用,因此您的问题表明您可能没有按照应该使用的方式使用视图(MVC 风格) .但是假设您需要这样做,设置 this.rendered = true
并在您的渲染方法中再次渲染之前检查它可能是最快和最简单的。
【讨论】:
以上是关于如何检查 Backbone.View 当前是不是在 DOM 中呈现?的主要内容,如果未能解决你的问题,请参考以下文章
与 JSHint 相反,Backbone.js 是不是“使用 new 来产生副作用”?