In realtà ciò che si potrebbe fare è creare una "sottoclasse" di Session che memorizzi il valore nella memoria locale di Amplify quando viene chiamato set(). Avresti automaticamente ereditato tutte le proprietà reattive di Session. Ecco il codice, ha funzionato per me:
SessionAmplify = _.extend({}, Session, {
keys: _.object(_.map(amplify.store(), function(value, key) {
return [key, JSON.stringify(value)]
})),
set: function (key, value) {
Session.set.apply(this, arguments);
amplify.store(key, value);
},
});
semplicemente sostituire tutti i tuoi Session.set/ricevere telefonate con SessionAmplify.set/ricevere telefonate. Quando viene chiamato set(), viene chiamato il metodo Session padre, nonché amplify.store(). Quando la "sottoclasse" viene creata per la prima volta, carica tutto ciò che si trova nella memoria di amplify all'interno delle sue chiavi, in modo che possano essere recuperate immediatamente con get().
È possibile verificare una variazione di lavoro dell'esempio Classifica qui: https://github.com/sebastienbarre/meteor-leaderboard
fonte
2013-02-02 05:56:15
Nizza. Ho trovato questo per qualcos'altro, ma userò totalmente questa idea. Grazie, Sebastien! –
+1, funziona magnificamente – danii