जब मैं मार्ग बदलता हूं तो मैं अपने app.component में वर्तमान मार्ग का नाम या मार्ग पथ प्राप्त करने का प्रयास कर रहा हूं मैं एक रैपर div के चारों ओर एक पृष्ठ वर्ग के रूप में मार्ग नाम का उपयोग कर सकते हैं। मैं इसे संभालने का सबसे अच्छा तरीका जानने की कोशिश कर रहा हूं। पहले मैं राउटर परिवर्तन संपत्ति की सदस्यता ले रहा था जैसा कि मैंने नीचे सूचीबद्ध किया है, लेकिन ऐसा लगता है कि यह अब @ कोणीय/राउटर 3.0.0-अल्फा 3 के साथ उपलब्ध नहीं है। अगर किसी के पास कोई विचार या सुझाव है तो मैं सबसे ज्यादा आभारी हूं। https://angular.io/docs/ts/latest/guide/router.htmlकोणीय 2 @ कोणीय/राउटर 3.0.0-alpha.3 - मार्ग बदलते समय मार्ग का नाम या पथ कैसे प्राप्त करें
उत्तर
यह शायद करने में मदद मिलेगी,
import { CanActivate, Router, RouterStateSnapshot } from '@angular/router';
@Component({
selector: 'my-component',
templateUrl: 'my-component.html'
})
export class MyComponent implements CanActivate {
constructor(private router: Router) {}
canActivate(state: RouterStateSnapshot) {
// this is the future route you are intended to visit
console.log(state.url);
}
}
अधिक जानकारी वर्तमान में दस्तावेज एक है, लेकिन यूआरएल ActivatedRoute
मेरे लिए फायरिंग नहीं है पर नमूदार जब मैं छोड़कर पहला है बेस यूआरएल को दबाएं (उदा:/इंडेक्स से/इंडेक्स/आइटम काम करने के लिए जा रहा है, लेकिन/इंडेक्स/आइटम से इंडेक्स/आइटम/2, इंडेक्स/डैशबोर्ड, या यहां तक कि इंडेक्स भी नहीं है)।
मुझे यकीन है कि अगर निम्न समाधान सबसे अच्छा अभ्यास है नहीं कर रहा हूँ और न ही क्या प्रदर्शन निहितार्थ हैं, लेकिन मैं निम्नलिखित के साथ रूटर के NavigationEnd
घटना पर सक्रिय मार्ग प्राप्त करने में सक्षम था:
import { Component, OnInit, OnDestroy } from '@angular/core';
import { ROUTER_DIRECTIVES, Router, NavigationEnd } from '@angular/router';
@Component({
selector: 'navbar',
directives: [ROUTER_DIRECTIVES],
template: `
...
`
})
export class NavBarComponent implements OnInit, OnDestroy {
private sub: any;
constructor(private router: Router) {
}
ngOnInit() {
this.sub = this.router.events.subscribe(e => {
if (e instanceof NavigationEnd) {
console.log(e.url);
}
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}
}
यह हर बार जब आप मार्ग बदलते हैं, तो यह आग लगती है कि आप यूआरएल पेड़ में कितने गहरे हैं या आप कहां से नेविगेट करते हैं।
ऑनएक्टिवेट इंटरफ़ेस अब राउटर v3 को सूखने वाला नहीं है, इसलिए मुझे नहीं लगता कि यह काम करेगा। और वैसे, मार्ग सेगमेंट क्लास या तो। – Maxime
@ मैक्सिम सही है, रूट सेगमेंट और ऑनएक्टिव दोनों v3 में उपलब्ध नहीं हैं। जब मैं उन्हें शामिल करने का प्रयास करता हूं तो मुझे निम्न त्रुटियां मिलती हैं I @ कोणीय/राउटर/इंडेक्स "'में कोई निर्यात किया गया एमएनजी' रूट सेगमेंट 'नहीं है। @ कोणीय/राउटर/इंडेक्स" में कोई निर्यात किया गया एमएनजी नहीं है' ऑनएक्टिवेट ' – orion583
वही समस्या, रूट सेगमेंट चला गया है। अब हमें क्या उपयोग करना चाहिए ??? मुझे इन बड़े पैमाने पर "आरसी" परिवर्तनों से नफरत है। –
स्टीव के जवाब में
this.router.changes.subscribe((val) => {
var path = this._location.path();
if (path.indexOf('page-name') !== -1) {
this.pageClass = 'page-name';
}
})
+1: मुझे एक ही समस्या थी। ऐप के माध्यम से नेविगेट करते समय 'ActivatedRoute 'का अवलोकन नहीं किया जा रहा था। लेकिन 'राउटरलिंकएक्टिव' निर्देश ने वर्तमान मार्ग के अनुसार लिंक वर्गों को सही ढंग से बदल दिया। 'राउटरलिंकएक्टिव' इस उत्तर में समान दृष्टिकोण का उपयोग करता है: 'नेविगेशन एंड' ईवेंट सुनना। – Biggie
- 1. कोणीय 2 रूटिंग - मार्ग बदलते समय घटक की स्थिति को
- 2. कोणीय 2 वर्तमान मार्ग प्राप्त करें
- 3. कोणीय 2 मार्ग
- 4. कोणीय 2 सक्रिय मार्ग
- 5. स्थान परिवर्तन करते समय मार्ग का नाम कैसे प्राप्त करें?
- 6. कोणीय 2 गतिशील रूप से डिफ़ॉल्ट मार्ग बदलते हैं
- 7. डिफ़ॉल्ट मार्ग कोणीय 2
- 8. कोणीय 2 में वर्तमान मार्ग कस्टम डेटा कैसे प्राप्त करें?
- 9. कोणीय 2 वर्तमान मार्ग के उपनाम
- 10. उपनाम मार्ग का नाम
- 11. रेल 3 मार्ग रूट नाम
- 12. ज़ेंड फ्रेमवर्क में प्रेषित मार्ग का नाम कैसे प्राप्त करें?
- 13. दोनों मार्ग पैरामीटर और कोणीय 2
- 14. कोणीय 2: मार्ग पैरामीटर को subroute कैसे पास करें?
- 15. Symfony 2 रीडायरेक्ट मार्ग
- 16. हैप्रोक्सी मार्ग और यूआरआई पथ
- 17. Asp.Net MVC में मार्ग में मार्ग का नाम का प्रयोग
- 18. कोणीय मार्ग/इनपुट ऑटोफोकस
- 19. कोणीय मार्ग - लोड
- 20. प्ले 2 मार्ग
- 21. मार्ग पथ जाओ गतिशील
- 22. नाम से चल रहे प्रक्रिया का मार्ग प्राप्त करना
- 23. स्लिम 3 मिडलवेयर में वर्तमान मार्ग प्राप्त करें
- 24. कोणीय 2 रूट का मार्ग हमेशा सक्रिय होता है
- 25. उपयोग निरपेक्ष पथ या में रिश्तेदार पथ प्रतिक्रिया मार्ग
- 26. कोणीय मार्ग 404
- 27. डिफ़ॉल्ट मार्ग का नाम बदलें
- 28. हो रही कस्टम मार्ग पथ
- 29. रेल 3 मार्ग संदर्भ
- 30. ऐप का मार्ग कैसे प्राप्त करें (app.exe के बिना)?
इस राउटर (केवल पथ) –
में कोई रूट नाम नहीं है यदि मैं मार्ग परिवर्तन में हर बार राउटर पथ प्राप्त कर सकता हूं जो भी काम करेगा। – orion583
एक ही समस्या है। यदि आपको कोई समाधान मिल गया है तो क्या आप इसे पोस्ट कर सकते हैं? –