3

backbone.js に苦労しています。私はjsにはかなり慣れていませんが、よりオブジェクト指向であるas3に慣れています

バックボーンを使ったシンプルな画像ギャラリーを作ってみました。100 枚の画像を読み込みますが、読み込まれたらフェードインしたいです。

私はこれをAppViewに持っています。取得したすべての画像 URL に対して、1 つの PhotoView を作成します

var view = new PhotoView({model: photo, list:this.imageList});
this.imageList.append(view.render().el);

Photoview では、このコードを使用して onload() を img タグにアタッチします (ここにあります)。

render: function() {
    var self = this;
    this.$el.append(some_html_with_img_elements);
    this.$el.find('img').on('load', function() { self.img_loaded() });
    return this;
}

問題は、 img_loaded() で同じビューを何度も取得することです(最後のビュー)。正しいビューへの参照を維持する方法を知っている人

4

2 に答える 2