在我的骨幹應用程序的渲染函數中,我想用交替行的空行填充表的其餘部分,但我不知道要添加多少行。我試過this.el.clientHeight
,$(this.el).height()
,以及這些函數的所有其他排列讓它們都返回0.有人知道如何做到這一點嗎?我也不想添加太多,爲了不引入滾動條。如何在Backbone Views中獲取大小(高度/寬度)信息?
var bar = Backbone.View.extend({
initialize: function(){
_.bindAll(this, "render");
},
render: function(){
var html = "<h1>Hi!</h1>";
$(this.el).html(html);
var myWidth = this.el.width();
alert(myWidth);
return this;
}
});
var foo = Backbone.View.extend({
el: $('#myElement'),
initialize: function(){
_.bindAll(this, "render");
this.subview = new bar();
},
render: function(){
$(this.el).append(this.subview.render().el);
return this;
}
});
解決方案爲那些堅持同樣的問題,因爲我有:你必須等待元素,以獲得高度/寬度信息充分附加到DOM。爲了解決這個問題,我在渲染完成後添加了一個postrender調用,該調用返回並處理了任何小細節。
btw你知道你將寬度存儲在一個名爲myHeight的變量中嗎? – Jack