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

您可能使用的是旧版本的 Backbone。on/off仅在 0.9.0 上添加,在此之前它们被称为bindand unbind

您应该更新到最新的Backbone(撰写本文时为 0.9.9)。

于 2013-01-16T10:56:08.290 回答