निरपेक्ष मार्ग मार्ग
नेविगेशन के लिए 2 विधियाँ हैं, .navigate()
और.navigateByUrl()
आप .navigateByUrl()
निरपेक्ष पथ मार्ग के लिए विधि का उपयोग कर सकते हैं :
import {Router} from '@angular/router';
constructor(private router: Router) {}
navigateToLogin() {
this.router.navigateByUrl('/login');
}
जिस घटक को आप नेविगेट करना चाहते हैं, उसके URL में आप निरपेक्ष पथ डालते हैं।
नोट: राउटर की navigateByUrl
विधि को कॉल करते समय हमेशा पूर्ण निरपेक्ष पथ निर्दिष्ट करें । निरपेक्ष रास्तों को एक अग्रणी से शुरू करना चाहिए/
// Absolute route - Goes up to root level
this.router.navigate(['/root/child/child']);
// Absolute route - Goes up to root level with route params
this.router.navigate(['/root/child', crisis.id]);
सापेक्ष पथ मार्ग
यदि आप सापेक्ष पथ मार्ग का उपयोग करना चाहते हैं, तो .navigate()
विधि का उपयोग करें ।
नोट: यह थोड़ा अनपेक्षित है कि मार्ग कैसे काम करता है, विशेष रूप से माता-पिता, भाई और बच्चे मार्ग:
// Parent route - Goes up one level
// (notice the how it seems like you're going up 2 levels)
this.router.navigate(['../../parent'], { relativeTo: this.route });
// Sibling route - Stays at the current level and moves laterally,
// (looks like up to parent then down to sibling)
this.router.navigate(['../sibling'], { relativeTo: this.route });
// Child route - Moves down one level
this.router.navigate(['./child'], { relativeTo: this.route });
// Moves laterally, and also add route parameters
// if you are at the root and crisis.id = 15, will result in '/sibling/15'
this.router.navigate(['../sibling', crisis.id], { relativeTo: this.route });
// Moves laterally, and also add multiple route parameters
// will result in '/sibling;id=15;foo=foo'.
// Note: this does not produce query string URL notation with ? and & ... instead it
// produces a matrix URL notation, an alternative way to pass parameters in a URL.
this.router.navigate(['../sibling', { id: crisis.id, foo: 'foo' }], { relativeTo: this.route });
या अगर आपको बस वर्तमान मार्ग पथ के भीतर नेविगेट करने की आवश्यकता है, लेकिन एक अलग मार्ग पैरामीटर के लिए:
// If crisis.id has a value of '15'
// This will take you from `/hero` to `/hero/15`
this.router.navigate([crisis.id], { relativeTo: this.route });
लिंक पैरामीटर सरणी
एक लिंक पैरामीटर सरणी राउटर नेविगेशन के लिए निम्नलिखित सामग्री रखती है:
- गंतव्य घटक के लिए मार्ग का पथ।
['/hero']
- आवश्यक और वैकल्पिक मार्ग पैरामीटर जो रूट URL में जाते हैं।
['/hero', hero.id]
या['/hero', { id: hero.id, foo: baa }]
निर्देशिका जैसी वाक्य रचना
राउटर मार्ग का नाम देखने में मदद करने के लिए लिंक पैरामीटर्स लिस्ट में डायरेक्टरी जैसे सिंटैक्स का समर्थन करता है:
./
या कोई भी प्रमुख स्लैश वर्तमान स्तर के सापेक्ष नहीं है।
../
मार्ग पथ में एक स्तर ऊपर जाने के लिए।
आप पूर्वज पथ के साथ सापेक्ष नेविगेशन सिंटैक्स को जोड़ सकते हैं। यदि आपको एक भाई के मार्ग पर जाना चाहिए, तो आप ../<sibling>
एक स्तर तक जाने के लिए सम्मेलन का उपयोग कर सकते हैं , फिर भाई के मार्ग के ऊपर और नीचे।
रिश्तेदार संज्ञा के बारे में महत्वपूर्ण नोट्स
Router.navigate
विधि के साथ एक रिश्तेदार पथ को नेविगेट करने के लिए , आपको ActivatedRoute
राउटर का ज्ञान देने के लिए आपूर्ति करनी चाहिए जहां आप वर्तमान मार्ग के पेड़ में हैं।
लिंक पैरामीटर एरे के बाद, किसी ऑब्जेक्ट को relativeTo
सेट की गई प्रॉपर्टी के साथ जोड़ें ActivatedRoute
। राउटर तब सक्रिय मार्ग के स्थान के आधार पर लक्ष्य URL की गणना करता है।
आधिकारिक कोणीय राउटर प्रलेखन से