1

私はこの本「backbone.jsアプリケーションの開発」を読んでいます.18ページには、次のようなモデル関数があります。

    (function($){
    var Photo = Backbone.Model.extend({
        defaults: {
            'src': 'placeholder.jpg',
            'title':'an image placeholder',
            'coordinates':[0,0]
            },
        initialize:function(){
            this.on("change:sr", function(){
                var src = this.get("src");
                console.log("Image src has been updated to: "+src);
                });
            },
        changeSrc: function(source){
            this.set({'src':source});
            }
        });
    var somePhoto = new Photo({'src':'test.jpg', 'title':'testing'});
    somPhoto.changeSrc('thatPhoto.jpg');
    })(jQuery);

次のようなエラーが表示されます

TypeError: this.on is not a function
this.on("change:src", function(){

コンソールで。
この問題を解決する方法を教えてください。Backbone.js はまったくの初心者です。どんな助けでも大歓迎です。

4

1 に答える 1

2

古いバージョンのバックボーンを使用している可能性があります。on/offは0.9.0にのみ追加され、それ以前はと呼ばれbindていunbindました。

最新のバックボーン(執筆時点では0.9.9)に更新する必要があります。

于 2013-01-16T10:56:08.290 に答える