2013-10-27 8 views
5

nesne olun. Bu bilginin bazı bölümlerini amplify.js ile tarayıcıya devam etmek istiyorum, ancak hepsine değil.Meteor js: Oturum Ben kullanıcı etkinliği hakkında geçici bilgi depolamak için Oturumu kullanıyorum benim meteor uygulamasında kısmen kalıcı

Ben 'geçici' Oturum tuşları ve 'kalıcı' Oturum anahtarları için bir yol istiyorum. Örneğin ben

Session.set('persistent', 'this is persisted to browser memory'); 
Session.set('temporary', 'this will be erased on page reload, etc'); 

diyebiliriz ve sonra a related post on SO buldum ama bu bu yaklaşım yapmak istemiyorum tamamı Session nesnesi, devam kurtaran bir sayfayı yeniden

Session.get('persistent'); // returns 'this is persisted to browser memory' 
Session.get('temporary'); // returns undefined 

sonra. Ayrıca, bunun için MongoDB kullanmak istemiyorum, ben ... tamamen istemci tarafı olmaya önceden

çok teşekkür ederiz depolama istiyorum!

+1

için Github page, bağlantılı sonrası sizin için çalışacak. 'Geçici' oturum anahtarlarını istediğinizde normal 'Session'ı kullanın ve 'kalıcı' oturum tuşlarını istediğinizde genişletilmiş' SessionAmplify' kullanın. – dayuloli

cevap

9

kullanın localStorage. Eğer reaktif olmak istiyorsanız biraz zor, ama tarayıcınızın localStorage kavanozdan öğeyi almak yukarıya başlatırken bu localStorage

yanında halletmek için Session kullanabilirsiniz tahmin

Meteor.startup(function() { 
    Session.set("yourItem", localStorage.getItem("yourItem")); 
}); 

ayarlayarak : bir sekmesinde bu ayarladığınız takdirde MongoDB falan kullanmadıkça mümkün değildir

localStorage.setItem("yourItem", "yourValue"); 
Session.set("yourItem", localStorage.getItem("yourItem")); 

bir şey sayfayı yenileyin kadar başkalarına değiştirmek alışkanlık vardır. Ama sanırım Seans buna benzer.

+1

Localstorage ile aynı fikirdeyim, ancak yükseltmeyi (localstorage, çerezler ve ilgili şeyler üzerinde bir arayüz olarak işlev görür) kullanırım. –

+0

niçin 'Session''a ihtiyacımız var? –

+1

@VictorFerreira Reaktif hale getirmek için. localStorage kendi başına reaktif değildir. – Akshat

6

u2622:persistent-session paketini kullanarak amplify.js yerel depolama kabiliyetini kullanarak, bilgi ayarlamak ve bilgiye erişmek için Meteor Session nesnesini kullanmama konusunda başarılı oldum. el tarayıcı en temizleyin sürece

  • Session.setPersistent(key, value)
  • Session.setDefaultPersistent(key, value)

u2622:persistent-session, sekmeler ve reloads arasında verilerinizi korur:

meteor add u2622:persistent-session yaptıktan sonra, daha sonra devam edebilirsiniz ve benzeri şeyler yapmak yerel depolama.

Ödeme Anladığım kadarıyla fazla bilgi