হতে পারে অন্যান্য সমস্ত উত্তর কৌনিক ২. এক্স এর জন্য are
এখন এটি কৌণিক 5. এক্স এর জন্য কাজ করে না। আমি এটি নিয়ে কাজ করছি।
শুধুমাত্র নেভিগেশনএন্ডের সাথে আপনি পূর্ববর্তী ইউআরএল পেতে পারবেন না।
কারণ রাউটার "নেভিগেশনস্টার্ট", "রাউটস পরিচিতি", ..., থেকে "নেভিগেশনএন্ড" এ কাজ করে।
আপনি চেক করতে পারেন
router.events.forEach((event) => {
console.log(event);
});
তবে এখনও আপনি "নেভিগেশনস্টার্ট" দিয়েও পূর্ববর্তী url পেতে পারবেন না।
এখন আপনার জোড়া লাগাতে হবে।
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/pairwise';
constructor(private router: Router) {
this.router.events
.filter(e => e instanceof RoutesRecognized)
.pairwise()
.subscribe((event: any[]) => {
console.log(event[0].urlAfterRedirects);
});
}
যুগলভাবে, আপনি দেখতে পাবেন যে ইউআরএলটি কী এবং কী।
"রাউটারস সনাক্ত" একটি ইউআরএল থেকে লক্ষ্য url এ পরিবর্তনের পদক্ষেপ।
সুতরাং এটি ফিল্টার এবং এটি থেকে পূর্ববর্তী url পেতে।
সর্বশেষ তবে কম নয়,
এই কোডটি প্যারেন্ট উপাদান বা উচ্চতরতে (উদাহরণস্বরূপ, app.componal.ts) রাখুন
কারণ এই কোডটি শেষের রাউটিংয়ের পরে ফায়ার হয়।
কৌণিক 6+ আপডেট করুন
events.filter
ত্রুটি দেয় কারণ ইভেন্টগুলিকে ফিল্টার করুন অংশ নয়, তাই কোড পরিবর্তন
import { filter, pairwise } from 'rxjs/operators';
this.router.events
.pipe(filter((evt: any) => evt instanceof RoutesRecognized), pairwise())
.subscribe((events: RoutesRecognized[]) => {
console.log('previous url', events[0].urlAfterRedirects);
console.log('current url', events[1].urlAfterRedirects);
});