2012-04-12 79 views
1

我不斷收到「filterMessages不是函數」錯誤。這裏是Backbone View類 - 不知道爲什麼它找不到函數。骨幹Javascript - 找不到功能?

這裏的 filterMessages沒有定義 線152(filterMessages(「所有的」螢火蟲)中的錯誤你會想的範圍內調用它。每個(函數(消息){

​​

回答

5

觀點:

initialize : function() { 

    var self = this; 

    // code here 

    this.collection.on("reset", function(models) { 
     $("div.cameras").empty(); 
     self.filterMessages("all").each(function(message) { 
      var view = new MessageView({model: message}); 
      $("div.cameras").prepend(view.render().el); 
     }); 
    }); 
} 
+0

不,沒有工作 – bluedevil2k 2012-04-12 17:43:34

+0

我已經更新了示例來修復範圍。 – rjz 2012-04-12 18:09:17

+0

是的,它做到了。謝謝。 JS令人討厭的「特徵」。 – bluedevil2k 2012-04-12 18:23:51

0

只要定義「這個」作爲您的內部函數外的變量,因爲它將你的內部函數內部時採取了不同的屬性

primaryFunction : function() { 
    var self = this; 

    innerFunction : function(filterString) { 
     self.someOtherFunction(); 
    }; 
}