In realtà quello che si potrebbe fare è creare una "sottoclasse" di sessione che memorizza il valore nel negozio di Amplify quando set() è chiamato. 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:54:15
Ho salvato alcuni dati comuni in Meteor.user, Quando l'aggiornamento della pagina è possibile reimpostarlo. – crapthings
Sì, è solo che mi piacerebbe persistenza anche quando non sono loggati. – Jonovono