2013-01-16 27 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