2015-01-15 9 views
0

Этот код возвращает сообщение предупреждения о количестве моделей, присутствующих в коллекции. Я хочу распечатать его только один раз и выйти из цикла, как только совпадут имя пользователя и пароль. Что делать?Backbone Collection .findwhere() метод подчеркивания

   this.collection.find(function(model) 
       { 
        debugger 
        var user = model.get('username'); 
        var pwd = model.get('password'); 

        if(enteredUsername == user && enteredPassword == pwd) 
        { 

         return(alert("success")); 

        } 
        else 
        { 
         return(alert("failure")); 

        } 
       }); 

ответ

1

Источники BB

where: function(attrs, first) { 
     if (_.isEmpty(attrs)) return first ? void 0 : []; 
     return this[first ? 'find' : 'filter'](function(model) { 
     for (var key in attrs) { 
      if (attrs[key] !== model.get(key)) return false; 
     } 
     return true; 
     }); 
    }, 
¶ 
Return the first model with matching attributes. Useful for simple cases of find. 


    findWhere: function(attrs) { 
     return this.where(attrs, true); 
    }, 

поэтому попробуйте

console.log(this.collection.findWhere({username: username, password: password})); 
Смежные вопросы