Come faccio a distinguere tra vecchi e nuovi dati nelle raccolte backbone?

2

Un modello comune che ho incontrato è una collezione di backbone che viene inizialmente inizializzata da un database.

Tuttavia, l'utente può anche aggiungere alla raccolta. Quando l'utente aggiunge alla raccolta, questi dovrebbero essere riflessi nel db.

Normalmente legherei un qualche tipo di chiamata al server per l'evento add della raccolta. Tuttavia, se lo faccio, la chiamata verrà effettuata anche durante il seed iniziale. Voglio solo che venga richiamato su nuovi dati.

Qual è il modo giusto per affrontare questo problema?

    
posta Aakil Fernandes 17.06.2014 - 18:39
fonte

1 risposta

1

How do I tell when the collection has completed loading the seed data?

Definisci una funzione initialize :

var foo = new Backbone.Model({
  "Name": "foo"
});

var bar = new Backbone.Collection(null, {
  model: foo,
  initialize: baz
  }
});

Also, there's the possibility of a user quickly adding to the collection before the seed data is fully loaded:

Utilizza un modello separato per il contenuto generato dall'utente:

function callback(event)
  {
  callback.model = new Backbone.Model({"Name":event.target.value});
  }

Quindi usa set per unirli quando viene chiamato initialize:

function baz()
  {
  try
    {
    foo.set({"Name": callback.model.get("Name")});
    }
  catch(e)
    {
    console.log(e);
    }
  }
    
risposta data 22.04.2018 - 07:12
fonte

Leggi altre domande sui tag