何时实际呈现并在Backbone中可用

时间:2012-12-06 19:52:48

标签: backbone.js render

所以我在BackBone的render()方法中提取模板。

var html = $(template).render();
this.el.html(html);

我为该模板定义了一些css,例如元素的宽度百分比。在上面的行之后我似乎无法使用jquery获得那个高度。那么这实际上是什么时候将它呈现给DOM,何时才能计算元素?

THX 拉尔夫

1 个答案:

答案 0 :(得分:3)

首先,您需要使用jquery缓存元素this.$el.html(html)。 在此之后,视图已经呈现,但没有附加到DOM,因此,高度或宽度等属性将是未定义的(或零)。

例如,这应该返回一些内容:

var html = $(template).render();
this.$el.html(html);
this.$el.appendTo("body");
console.log(this.$el.height());