Assurez-vous. Faire une méthode qui ne l'insertion. Lorsque la méthode fonctionne, vérifier pour voir si elle est en cours d'exécution dans la simulation, et, dans l'affirmative, de définir un "temporaire" ou "non confirmées" drapeau sur l'élément inséré. L'utiliser pour décider si le rendu de l'élément grisé.
En supposant que vous êtes en utilisant MongoDB:
// Put this in a file that will be loaded on both the client and server
Meteor.methods({
add_item: function (name) {
Items.insert({name: name,
confirmed: !this.isSimulation});
}
});
L'appel de la méthode:
Meteor.call("add_item", "my item name");
C'est tout ce que vous devez faire. La raison pour laquelle cela fonctionne est que une fois que le serveur a terminé l'enregistrement de l'élément, de la section locale (simulée) des changements sur le client sera retiré et remplacé avec tout ce qui s'est réellement passé sur le serveur (ce qui n'inclut pas le "non confirmées" pavillon.)
Le ci-dessus est la façon la plus simple de le faire, mais cela va dans tous les
les enregistrements de votre base de données ayant un 'confirmé' attrbiute de vrai. Pour éviter cela, réglez la confirmation de l'attribut si c'est faux.
Reportez-vous à cette partie de la documentation pour plus d'informations sur l' isSimulation
et Meteor.methods