2013-01-16 25 views
1

我一直在通过本书“开发backbone.js应用程序” 其中第18页那里有它是这样一种模式功能:。backbone.js错误为TypeError:this.on不是函数this.on(“change:src”,function(){

(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(){ 
在控制台上


任何想法如何我可以解决这个问题,我完全新干线.js。 任何帮助表示赞赏。

+0

哦..是的,似乎这样..我使用旧版本的主干。绑定,而不是工作就好了。非常感谢你fencliff。 –

+0

我将我的评论作为答案提出,所以问题不会永久解答。 – jevakallio

回答

2

您可能正在使用老版本的Backbone。 on/off仅在0.9.0上添加,然后才称为bindunbind

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

+0

+1大多数初学者教程是在2010年/ 2011年初使用绑定时编写的! – Pramod

+0

@Pramod我认为绑定/解除绑定工作至少仍然在0.9.9。 – jevakallio