En fait ce que vous pourriez faire est de créer une "sous-classe" de Session qui stocke la valeur dans le stockage local d'Amplify quand set() est appelé. Vous héritez automatiquement de toutes les propriétés réactives de Session. Voici le code, il a fonctionné pour moi:
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);
},
});
Juste tous vos remplacer Session.set/recevoir des appels avec SessionAmplify.set/recevoir des appels. Lorsque set() est appelée, la méthode de session parente est appelée, de même que amplify.store(). Lorsque la "sous-classe" est créée, elle charge tout ce qui se trouve dans le magasin d'amplify à l'intérieur de ses clés, de sorte qu'elles peuvent être récupérées immédiatement avec get().
Vous pouvez tester une variation de travail de l'exemple Leaderboard ici: https://github.com/sebastienbarre/meteor-leaderboard
Nice. J'ai trouvé cela pour autre chose, mais je vais totalement utiliser cette idée. Merci, Sébastien! –
+1, cela fonctionne magnifiquement – danii