2016-11-13 3 views
6

ActivatedRoute@angular\router params is observable में क्यों?क्यों @angular राउटर पैराम में सक्रिय रूट देखा जा सकता है?

मुझे आश्चर्य है कि मुझे पैराम्स के लिए सदस्यता लेने की आवश्यकता क्यों है? और क्यों पैराम एसिंक हैं, क्या एक मामला मार्ग का componenet बनाया जाएगा, लेकिन पैरा अभी भी populated नहीं है?

और क्या observable के बिना मूल्य प्राप्त करने का कोई तरीका है?

उत्तर

10

आप उपयोग कर सकते हैं

route.routerState.params 

आप सदस्यता ले सकते हैं, क्योंकि जब आपके आवेदन सिर्फ एक और पैरामीटर मान के साथ एक ही मार्ग पर नेविगेट कर घटक निर्मित नहीं है और आप जानते हुए भी मानकों में परिवर्तन किया है का कोई रास्ता नहीं है।

पैरामीटर की सदस्यता लेने के साथ आपको अधिसूचित किया जाता है, कि एक मार्ग कार्रवाई हुई है जहां केवल पैरामीटर मान बदल गया है।

+0

ngOnInit के बारे में क्या? घटक बनने के बाद या प्रत्येक बार घटक सक्रिय होने के बाद इसे लागू किया जाएगा? –

+0

केवल एक बार। । । । मदद के लिए –

+1

धन्यवाद। अब यह स्पष्ट है –

1

मैट्रिक्स पैरामीटर इस मार्ग पर पहुंचे। जब पैरामीटर का सेट बदलता है तो अवलोकन योग्य एक नया मान उत्सर्जित करेगा।

कारण यह है कि ActivatedRoute पर पैराम प्रॉपर्टी एक अवलोकन योग्य है कि राउटर उसी घटक पर नेविगेट करते समय घटक को पुन: उत्पन्न नहीं कर सकता है। इस मामले में पैरामीटर को फिर से बनाए जाने के बिना पैरामीटर बदल सकता है।

+0

आपके उत्तर का दूसरा भाग वास्तविक कारण है ** क्यों ** और वही है जो मैं ढूंढ रहा था। –

संबंधित मुद्दे