:
[संपादित करें [टिप्पणी इस उत्तर के माध्यम से कम से कम 1.1.0.2 उल्का 0.6.6.2 के लिए है]: भी कैसे वे प्रतिक्रियाओं को तोड़ने नहीं यह जबकि ऐसा करने के लिए समझाने के लिए अद्यतन किया गया। @DeanRadcliffe, @AdnanY, @TomWijsman, और @MikeGraf के लिए धन्यवाद]
डेटा Session.keys
के अंदर संग्रहित किया जाता है, जो केवल एक वस्तु है, तो आप मैन्युअल रूप से कुंजी को हटा सकते हैं:
Session.set('foo', 'bar')
delete Session.keys['foo']
console.log(Session.get('foo')) // will be `undefined`
सभी को हटाने के लिए चाबियाँ, तो आप बस Session.keys
को एक खाली वस्तु प्रदान कर सकते हैं:
Session.set('foo', 'bar')
Session.set('baz', 'ooka!')
Session.keys = {}
console.log(Session.get('foo')) // will be `undefined`
console.log(Session.get('baz')) // will be `undefined`
सबसे आसान तरीका है कि। यदि आप यह सुनिश्चित करना चाहते हैं कि किसी भी प्रतिक्रियाशील निर्भरता को सही ढंग से संसाधित किया गया है, तो सुनिश्चित करें कि आप कुछ भी करते हैं जैसे @ डीन-रेडक्लिफ पहली टिप्पणी में सुझाता है। पहली बार अपरिभाषित करने के लिए कुंजी सेट करने के लिए Session.set()
का उपयोग करें, फिर उन्हें मैन्युअल रूप से हटाएं। इस तरह:
// Reset one value
Session.set('foo', undefined)
delete Session.keys.foo
// Clear all keys
Object.keys(Session.keys).forEach(function(key){ Session.set(key, undefined); })
Session.keys = {}
अभी भी Session.keyDeps.foo
और Session.keyValueDeps.foo
में बात के कुछ अवशेष हो जाएगा, लेकिन यह है कि रास्ते में नहीं होना चाहिए।
'सत्र' के कवर के तहत जाने और सीधे चाबियों में हेरफेर करने की सलाह नहीं दी जाती है। हालांकि आप इसे प्रत्येक कुंजी नाम के लिए उपयोग कर सकते हैं: 'ऑब्जेक्ट.कीज (सत्र.की) .forEach (फ़ंक्शन (कुंजी) {सत्र.सेट (कुंजी, अपरिभाषित);}) ' –
बहुत अच्छा बिंदु @ डीन रैडक्लिफ, उत्तर अपडेट किया गया। – jpadvo
@ डीन रैडक्लिफ, आपके योगदान के लिए बहुत धन्यवाद। मैं वास्तव में [इस anwser] (http://stackoverflow.com/a/28803605/877353) (जिसे मैंने अभी संपादित किया) का पालन कर रहा था, और यह नहीं मिला कि प्रतिक्रियाशीलता क्यों चली गई। आपके योगदान के बिना, मैं उम्र के लिए भटक गया होगा। आपने धमाल मचाया। बहुत धन्यवाद! –