2017-02-03 14 views
1

У меня есть объектная модель, как:Как получить элементы из объекта, где в магистрали?

var wo = new WordModel({ 
    "url": window.location.href, 
    "time": toDay(), 
    "w": w.trim() 
}); 

timelineCollection.add(wo); 

Я стараюсь, чтобы получить все элементы в timelineCollection где time является 04/02/2017. Я попытался это:

var o = { 
    time: "04/02/2017" 
}; 

var filtered = timelineCollection.where(o); 
console.log(filtered); 

Но это не работает для сбора мной

+0

Это не имеет никакого отношения к магистральной сети, если код, показанный здесь, не один в своем приложении. Кроме того, это недействительный синтаксис JavaScript. Похоже, что 'obj' должен быть массивом, это правильно? Вы ищете ответ с помощью Underscore? или простой JavaScript? –

+0

Это код из console.log в консоли – Darama

+0

Я использую Underscore – Darama

ответ

1

Backbone в where function действительно то, что вы должны использовать для этого.

// short syntax, every object becomes a Backbone.Model by default. 
 
var collection = new Backbone.Collection([{ 
 
    id: 0, 
 
    time: "04/02/2017", 
 
    }, { 
 
    id: 1, 
 
    time: "05/02/2017", 
 
    }, 
 
    // you can mix both plain objects and Model instances 
 
    new Backbone.Model({ 
 
    id: 2, 
 
    time: "04/07/2017", 
 
    }), new Backbone.Model({ 
 
    id: 3, 
 
    time: "04/02/2017", 
 
    }) 
 
]); 
 

 
// passing an existing model works too. 
 
var model = new Backbone.Model({ 
 
    id: 4, 
 
    time: "04/02/2017", 
 
}); 
 

 
collection.add(model); 
 

 
console.log(collection.where({ 
 
    time: "04/02/2017" 
 
}));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>

+0

Кажется, проблема в том, что я использую модель и t сначала заполняю модель после добавления в коллекцию – Darama

+0

@Darama nope, мой ответ использует только более короткий синтаксис. –

+0

@Darama проблема, скорее всего, не показана в вашем вопросе, возможно, 'toDay()' не возвращает то, что вы думаете, или ваш 'WordModel' не является дочерним классом' Backbone.Model'. –