2013-10-08 4 views
1

Я пишу приложение с базой (с требованием) и вам нужно выполнить поиск по коллекции, чтобы вытащить первую модель (я использую уникальный идентификатор, так что будет только один) ,Backbone collection.findWhere issue - Ошибка при сборе

Проблема у меня в том, что я получаю сообщение об ошибке:

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; 

}); 

Я могу получить доступ к элементам в этом документе. Собирайте в другом месте в представлении и выводите их в базовое расширение типа head, так что коллекция была заполнена.

Любая идея, почему эта коллекция не может вызвать findWhere?

+0

Вы можете добавить код объявления для LocationCollection? – ne8il

+4

Случайное предположение: версия подстроки <1.4.4 или Backbone <1.0.0? – nikoshr

+0

Ах. Spot on: Backbone 0.9.9 и Underscore 1.4.3 –

ответ

Смежные вопросы