2017-02-03 2 views
1

Ich habe objekt Modell wie:Wie bekomme ich Elemente aus dem Objekt in Backbone?

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

timelineCollection.add(wo); 

Ich versuche, alle Elemente in timelineCollection zu bekommen, wo time04/02/2017 ist. Ich habe versucht, dieses:

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

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

Aber es funktioniert nicht für mich

+0

Dies ist in keinem Zusammenhang mit Backbone es sei denn, der hier gezeigten Code nicht die in Ihrer Anwendung ist. Dies ist auch keine gültige JavaScript-Syntax. Es sieht so aus als würde 'obj' ein Array sein, ist das korrekt? Suchst du nach Antworten mit Underscore? oder einfaches JavaScript? –

+0

Das ist Code von console.log in der Konsole – Darama

+0

Ich verwende Underscore – Darama

Antwort

1

Backbone Sammlung where function ist wirklich das, was Sie für diese verwendet werden soll.

// 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

Scheint Problem ist, dass ich Modell verwende, und t zuerst füllen Modell nach Hinzufügen zur Sammlung – Darama

+0

@Darama nein, meine Antwort verwendet nur eine kürzere Syntax. –

+0

@Darama das Problem ist wahrscheinlich nicht in Ihrer Frage gezeigt, möglicherweise 'toDay()' nicht zurück, was Sie denken, oder Ihr 'WordModel' ist keine Kindklasse von' Backbone.Model'. –

Verwandte Themen