8
Come posso recuperare il nome del modello per un'istanza del modello backbone.js?Ottieni il tipo di modello per un'istanza del modello backbone.js passata
Ad esempio:
var Topic = Backbone.Model.extend({
})
var topic = new Topic({ type: 'question' })
var doSomethingWithTopic = function(topic) {
// check if passed in topic is of type Topic
// something like topic.constructor.name === 'Topic'
}
doSomethingWithTopic(topic)
Mi rendo conto che può essere confondendo il confine tra un modello backbone.js e una classe, quindi sono aperto ad altri modi di andare su questo, se necessario.
Mentre questo confronta il tipo di modello con un oggetto conosciuto, è possibile ottenere il tipo di modello di un oggetto Backbone in modo che possa creare una nuova istanza di quel modello? –
@NileshC: se 'obj' è un oggetto esistente, quindi' var newObj = new (obj.constructor)(); 'creerà una nuova istanza dello stesso tipo. Ciò presuppone che l'oggetto è stato "cablato" correttamente quando è stato costruito (che è un'assunzione sicura per gli oggetti creati con Backbone). – Lee