2013-10-08 58 views
1

我正在編寫一個主幹(具有require)應用程序,需要搜索集合來取出第一個模型(我使用唯一的ID,因此只有一個) 。Backbone collection.findWhere問題 - 在集合上出錯

我遇到的問題是,我得到一個錯誤:

Uncaught TypeError: Object [object Object] has no method 'findWhere' 

當得到與findWhere命令行。

視圖初始化是:

initialize: function (models) { 
    this.locationCollection = new LocationCollection(); 
    this.locationCollection.fetch(); 

    this.render(); 
}, 

我再後來訪問locationCollection在另一種方法中,該方法的第一行是發生錯誤:

createCrate: function (eventname) { 
    var setLocationList = this.locationCollection.findWhere({ Name: $('#location').val() }); 
    console.log($('#location').val()); 
    console.log(setLocationList);   
}, 

這裏是聲明代碼LocationCollection:

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'model/LocationModel' 
], function ($, _, Backbone, LocationModel) { 

    var LocationCollection = Backbone.Collection.extend({ 
     model: LocationModel, 
     url: "/api/locations" 
    }); 

    return LocationCollection; 

}); 

我可以訪問this.local中的項目在視圖中的其他位置收集並將它們輸出到主幹類型的擴展中,以便收集已填充。

任何想法爲什麼這個集合不能調用findWhere?

+0

您可以添加LocationCollection的聲明代碼嗎? – ne8il

+4

隨機猜測:下劃線版本<1.4.4或Backbone <1.0.0? – nikoshr

+0

啊。 Spot on:Backbone 0.9.9和Underscore 1.4.3 –

回答