Я решил его ...
Смотрите эту fiddle для обновленного образца.
я первоначально определен метод didInsertElement
на ListView
привязать к событию изменения размера окна и обновить ListItem
«ширину и высоту s, но это, как я, по-видимому перегрузил ListItem
» собственного didInsertElement
метода S:
App.ListView = Ember.ListView.extend({
height: 500,
width: 500,
elementWidth: 80,
rowHeight: 20,
itemViewClass: Ember.ListItemView.extend({
templateName: 'row_item'
}),
adjustLayout: function(w, h) {
console.log(w, h);
this.set('width', w);
this.set('height', h);
},
didInsertElement: function() {
view = this;
$(window).resize(function() {
width = $('body').width();
height = $('body').height();
view.adjustLayout(width, height);
});
}
используя .on('didInsertElement')
код работает:
App.ListView = Ember.ListView.extend({
height: 500,
width: 500,
elementWidth: 80,
rowHeight: 20,
itemViewClass: Ember.ListItemView.extend({
templateName: 'row_item'
}),
adjustLayout: function(w, h) {
console.log(w, h);
this.set('width', w);
this.set('height', h);
},
observeResize: function() {
view = this;
$(window).resize(function() {
width = $('body').width();
height = $('body').height();
view.adjustLayout(width, height);
});
}.on('didInsertElement')
могли бы вы предоставить jsFiddle? – chopper
Извините за это. Образец включен сейчас. – bazzel