thực tế những gì bạn có thể làm là tạo một "phân lớp" của phiên lưu trữ các giá trị trong cửa hàng Amplify khi set() được gọi. Bạn sẽ tự động kế thừa tất cả các thuộc tính phản ứng của Session. Đây là mã, nó làm việc cho tôi:
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);
},
});
Chỉ cần thay thế tất cả các cuộc gọi Session.set/get với SessionAmplify.set/get calls. Khi set() được gọi, phương thức Session cha được gọi, cũng như amplify.store(). Khi "lớp con" được tạo đầu tiên, nó tải mọi thứ nằm trong kho lưu trữ của bên trong các khóa của nó, để chúng có thể được lấy ngay lập tức với get().
Bạn có thể kiểm tra một biến thể làm việc của Leaderboard ví dụ ở đây: https://github.com/sebastienbarre/meteor-leaderboard
Nguồn
2013-02-02 05:54:15
Tôi lưu một số dữ liệu phổ biến trong Meteor.user, Khi làm mới trang u có thể đặt lại. – crapthings
Vâng, nó chỉ là tôi muốn kiên trì ngay cả khi họ không đăng nhập. – Jonovono