কীভাবে বর্তমান রুট পাবেন


469

বর্তমান ডক্সটি কেবল আসল রুট বিভাগগুলি নয়, রুটের প্যারামগুলি পাওয়ার বিষয়ে কথা বলে।

উদাহরণস্বরূপ, যদি আমি বর্তমান রুটের পিতামাতার সন্ধান করতে চাই তবে কীভাবে সম্ভব?


25
window.location.pathname
dchacke

1
@ চাকচা সমস্যাটি window.locationহ'ল ভবিষ্যতে যদি তারা সার্ভার-সাইড রেন্ডারিং বাস্তবায়ন করতে চায় windowতবে নোড.জেএস সার্ভারে বিদ্যমান না থাকায় তারা কিছুটা সমস্যার মুখোমুখি হবে , তবে রুটটি অ্যাক্সেস করার জন্য তাদের কৌণিক স্ট্যান্ডার্ড পদ্ধতি ব্যবহার করা প্রয়োজন এবং তারা সার্ভার এবং ব্রাউজার উভয়ই ঠিক থাকবে।
মোহাম্মদ করমানি

হ্যাঁ, বুদ্ধিমান। সার্ভার-সাইড রেন্ডারিং ব্যবহার বা ব্যবহার করার পরিকল্পনা করছেন তাদের এটিকে বিবেচনায় নেওয়া উচিত।
dchacke

উত্তর:


520

নতুন ভি 3 রাউটারের একটি ইউআরএল সম্পত্তি রয়েছে।

this.router.url === '/login'

5
আমি এই কোডটি ব্যবহার করি এবং আমি এই ইউআরএলটি স্ট্রিং ভেরিয়েবলের মধ্যে পেয়ে যাচ্ছি কিন্তু যখন আমি কনসোলে মুদ্রণ করার চেষ্টা করি log তবে এটি এটি প্রিন্ট করছে না ull ফুলআরল = this.router.url কনসোল.লগ (this.fullUrl); // মুদ্রণ নয়
বিজয় গুপ্ত

3
নতুন রাউটারের সক্রিয় বৈশিষ্ট্যটি <a রাউটারলিঙ্ক= "/ ড্যাশবোর্ড" রাউটারলিঙ্কএকটিভ="active"> ড্যাশবোর্ড </a> ব্যবহার করে দেখুন
ভিক্টর 9

34
আপনি যখন হ্যাশ কৌশল নিয়ে নেভিগেশন করছেন তখন এটি অকেজো, ইউআরএল সর্বদা "/" থাকে
নিনজা কোডিং

5
@ নিনজা কোডিং আমি হ্যাশ কৌশল ব্যবহার করছি এবং আমি ঠিক "/" পাচ্ছি। আমি কীভাবে হ্যাশ দিয়ে রুট url পেতে পারি?
মুরতুজা

9
@Murtuza এখানে একটি সমাধান পাওয়া যাবে: this.router.events.filter((event: any) => event instanceof NavigationEnd).subscribe(event => { console.log('this is what your looking for ', event.url); });। নিশ্চিত করুন যে আপনি আমদানি করেছেনimport { Router, NavigationEnd } from '@angular/router';
জেল

159

কৌণিক আরসি 4:

আপনি আমদানি করতে পারেন Router থেকে@angular/router

তারপরে এটি ইনজেকশন করুন:

constructor(private router: Router ) {

}

তারপরে একে URL প্যারামিটার বলুন:

console.log(this.router.url); //  /routename

2
কীভাবে রাউটারটি আমদানি করবেন সে সম্পর্কে অতিরিক্ত স্পষ্টতা খুব সহায়ক। আপনি যদি কাস্টম রাউটার ব্যবহার করে থাকেন তবে এটি আলাদা হবে কিনা তা আপনি স্পষ্ট করে বলতে পারেন?
kbpontius

1
এটি অবশ্যই কাস্টম রাউটারের 'কাস্টম-নেস' এর উপর নির্ভর করবে। (দুঃখিত এটি কোনও সহায়ক মন্তব্য ছিল না - আপনার যদি একটি নির্দিষ্ট প্রশ্ন থাকে তবে আমি একটি নতুন প্রশ্ন তৈরি করার এবং এই উত্তরটি উল্লেখ করার পরামর্শ দিই)
লো

41
আমি এই সমাধানটি ব্যবহার করেছি, তবে আমি সর্বদা এটি "/" পাই। কোন এক কেন জানেন না?
মারসিও এম।

4
কৌণিক নির্ভরতা ইনজেকশন টাইপস্ক্রিপ্ট চিনির সিনট্যাক্সের উপর নির্ভর করে, তাই আপনি যখন প্রাইভেট _আউটার ঘোষণা করেন: কনস্ট্রাক্টরের স্বাক্ষরে রাউটার, রাউটার ইনজেকশনের সাহায্যে একটি সম্পত্তি _router স্বয়ংক্রিয়ভাবে বর্তমান শ্রেণীর উদাহরণে তৈরি হয়। এই বিবৃতি this.router = _router; আমার কাছে কেবল একটি ওভারহেড, যেমন আপনার একই বস্তুর উদাহরণের জন্য দুটি রেফারেন্স থাকতে পারে (সেক্ষেত্রে রাউটার)।
অ্যান্ড্রু পুনরায় জন্ম

1
@ মার্সিও এম। এটি হতে পারে কারণ রাউটারটি আসলে সেই অবস্থায় পৌঁছেছে না, যদিও ইউআরএল আলাদা দেখায়। উদাহরণস্বরূপ, যদি কোনও রক্ষী পরিষেবাতে রাউটার.আর্ল এর দিকে আপনার নজর থাকে। অবস্থানের.পথ () উত্তরে উল্লিখিত হিসাবে রাউটারের অবস্থা যাই হোক না কেন আপনাকে url দেবে will
ড্যানিয়েল ভ্যান নিকের্ক

61

Locationআপনার উপাদানটিতে ইনজেক্ট করুন এবং পড়ুন location.path(); আপনাকে ROUTER_DIRECTIVESকোথাও যুক্ত করা দরকার যাতে কৌণিকর সমাধান করতে পারে Locationআপনাকে import: [RouterModule]মডিউলটিতে যুক্ত করতে হবে।

হালনাগাদ

ভি 3 (আরসি.3) রাউটারে আপনি ActivatedRouteএর snapshotসম্পত্তি ব্যবহার করে আরও ইনজেকশন এবং অ্যাক্সেস করতে পারেন ।

constructor(private route:ActivatedRoute) {
  console.log(route);
}

অথবা

constructor(private router:Router) {
  router.events.subscribe(...);
}

আরও দেখুন কৌণিক 2 রাউটার ঘটনা শ্রোতা


3
এটি আমাকে 'url' পাথ দেয়। আমি কীভাবে 'রুটের নামগুলি' খুঁজে পাই যাতে আমি navigateসেগুলিতে নেভিগেট করতে চাই এমন শিশু রুটের (সংযুক্ত) নামের পাশাপাশি পদ্ধতিতে একটি অ্যারেতে তাদের পাস করতে পারি ।
pdeva

আমি দেখি. আমিও এই সন্তোষজনক খুঁজে পাই না। আমি নিজে চেষ্টা করে দেখিনি তবে সম্ভবত স্ট্যাকওভারফ্লোMyTrackingService . com/a/34548656/217408 এ ব্যাখ্যা করা এই মানগুলিতে অ্যাক্সেস করতে দেয়।
গন্টার জ্যাচবাউয়ার

রুটের নাম এখন চলে গেছে।
গন্টার জ্যাচবাউয়ার

4
@ গুনটারজোকবাউর কীভাবে অনুরোধ করা রুটটি সক্রিয় করার আগে পাওয়ার উপায় আছে ? উদাহরণস্বরূপ, যদি আমি কোনও পদ্ধতির ভিতরে অনুরোধ করা রুটটি সঞ্চয় করতে চাই canActivate(), যাতে আমি একটি "লগইন" পৃষ্ঠাতে পুনর্নির্দেশ করতে পারি, এবং তারপরে ব্যবহারকারীর অনুমোদনের পরে আবার মূল রুটে পুনর্নির্দেশ করতে পারি?
ইয়েভজেনি আনানিন

1
আপনি ক্যান অ্যাক্টিভেট গার্ড দিয়ে এটি করতে পারবেন না?
গন্টার জাচবাউর

42

নতুন রাউটারের জন্য> = আরসি ৩

এটি করার সর্বোত্তম এবং একটি সহজ উপায়!

import { Router } from '@angular/router';
constructor(router: Router) { 
      router.events.subscribe((url:any) => console.log(url));
      console.log(router.url);  // to print only path eg:"/login"
}

এই উত্তরটি নিম্নচক্রের থেকে কীভাবে আলাদা?
not2savvy

1
@ not2savvy রাউটার ইভেন্ট শ্রোতার মাধ্যমে এটি সন্ধানের জন্য আরও একটি উপায় দিয়েছিল, যা কিছু লোককে তারা কী সন্ধান করছে তা খুঁজে পেতে সহায়তা করেছিল।
রজথ এমএস

36

এটা ব্যবহার কর

import { Router, NavigationEnd } from '@angular/router';

constructor(private router: Router) {
    router.events.filter(event => event instanceof NavigationEnd)
        .subscribe(event => {
            console.log(event);
        });
}

এবং main.tsআমদানিতে

import 'rxjs/add/operator/filter';

সম্পাদনা

আধুনিক উপায়

import {filter} from 'rxjs/operators';

router.events.pipe(
    filter(event => event instanceof NavigationEnd)
)
    .subscribe(event => {
        console.log(event);
    });

10
বর্তমান ইউআরএলটি কোথায় নির্দেশ করছে তা যাচাই করার মতো সাধারণ কিছু করার জন্য এটি কি আসলেই প্রস্তাবিত উপায়? আমি এই বিষয়ে আপনার বিরুদ্ধে তর্ক করছি না। তবে, আমি লক্ষ্য করেছি যে রাউটিং জিনিসটি অনেকগুলি পরিবর্তন, আপডেট, বিভ্রান্তির উত্স etc. আমি এক ধরনের প্রত্যাশা করেছিলাম যে অ্যাক্টিভেটরউটটি মূলত রাউটারের জন্য নয় এটির জন্য ব্যবহৃত হবে । আমি কি সমস্যার জটিলতা অনুভব করছি?
গাধাবানানা

আমি অফিসিয়াল ডক্সে অ্যাক্টিভেটরউউটকে উল্লেখ করছি ।
গাধাবানানা

1
কমপক্ষে এখানে কারও প্রয়োজন নেই, রাউটারটি "রাউটারইভেন্ট" প্রকারটি অন্য রাউটার ইভেন্টগুলি দ্বারা প্রসারিত রফতানি করে - কৌণিক.ইও
এপি

1
@ ক্রিসমার্কস স্থির
ভ্লাদ

@ ডনকিবানানা আসলে, যদি আপনি নেস্টেড মডিউলগুলি নিয়ে কাজ করছেন যা তাদের নিজস্ব রুট রয়েছে তবে হ্যাঁ। প্রকৃতপক্ষে, নেস্টেড মডিউল এবং রাউটারগুলি ব্যবহার করে (এটি যা কৌণিক দল এমনকি প্রস্তাব দেয়) বর্তমান রুটের আসল URL পাওয়ার একমাত্র উপায়, অন্যান্য সমস্ত পদ্ধতি কেবল ফিরে আসবে /
ইগ্রেস্টওল্ফ

32

যারা এখনও এটি খুঁজছেন তাদের জন্য। কৌণিক 2.x এ এটি করার কয়েকটি উপায় রয়েছে।

constructor(private router: Router, private activatedRoute: ActivatedRoute){

   // string path from root to current route. i.e /Root/CurrentRoute
   router.url 

    // just the fragment of the current route. i.e. CurrentRoute
   activatedRoute.url.value[0].path

    // same as above with urlSegment[]
   activatedRoute.url.subscribe((url: urlSegment[])=> console.log(url[0].path))

   // same as above
   activatedRoute.snapshot.url[0].path

   // the url fragment from the parent route i.e. Root
   // since the parent is an ActivatedRoute object, you can get the same using 
   activatedRoute.parent.url.value[0].path
}

তথ্যসূত্র:

  1. https://angular.io/docs/ts/latest/api/router/index/ActivatedRoute-interface.html
  2. https://angular.io/docs/ts/latest/api/router/index/Router-class.html
  3. https://angular.io/docs/ts/latest/guide/router.html

27

রুট বিভাগগুলি পেতে:

import { ActivatedRoute, UrlSegment } from '@angular/router';

constructor( route: ActivatedRoute) {}

getRoutes() { const segments: UrlSegment[] = this.route.snapshot.url; }

14

আপনি চেষ্টা করতে পারেন

import { Router, ActivatedRoute} from '@angular/router';    

constructor(private router: Router, private activatedRoute:ActivatedRoute) {
console.log(activatedRoute.snapshot.url)  // array of states
console.log(activatedRoute.snapshot.url[0].path) }

বিকল্প উপায়

router.location.path();   this works only in browser console. 

window.location.pathname যা পথের নাম দেয়।


আপডেট: অ্যাক্টিভেটেডআরট.স্ন্যাপশট.আরএল এখন পর্যবেক্ষণযোগ্য এবং আপনাকে এটিতে সাবস্ক্রাইব করতে হবে।
সাদোক এমটিয়ার

12

নির্ভরযোগ্যভাবে পুরো বর্তমান রুটটি পেতে আপনি এটি ব্যবহার করতে পারেন

this.router.events.subscribe(
  (event: any) => {
    if (event instanceof NavigationEnd) {
      console.log('this.router.url', this.router.url);
    }
  }
);

9

নেটিভ windowঅবজেক্ট পাশাপাশি কাজ করে

console.log('URL:' + window.location.href);
console.log('Path:' + window.location.pathname);
console.log('Host:' + window.location.host);
console.log('Hostname:' + window.location.hostname);
console.log('Origin:' + window.location.origin);
console.log('Port:' + window.location.port);
console.log('Search String:' + window.location.search);

দ্রষ্টব্য: সার্ভারের পক্ষ থেকে রেন্ডারিংয়ে এটি ব্যবহার করবেন না


1
আপনি যদি সার্ভার সাইড রেন্ডারিং ব্যবহার করছেন তবে সাবধান হন this
জেসন ফোগলিয়া

7

সংক্ষিপ্ত সংস্করণ যদি আপনার রাউটার থাকে আমদানি করা হয় তবে আপনি কিছু পছন্দ করতে পারেন

this.router.url === "/ অনুসন্ধান"

অন্যথায় নিম্নলিখিত করুন

1) রাউটার আমদানি করুন

import { Router } from '@angular/router';

2) কনস্ট্রাক্টর এর এন্ট্রি ঘোষণা

constructor(private router: Router) { }

3) আপনার ফাংশন এর মান ব্যবহার করুন

yourFunction(){
    if(this.router.url === "/search"){
        //some logic
    }
}

@ ভিক্টর উত্তরটি আমাকে সহায়তা করেছিল, এটি তাঁর মতো একই উত্তর তবে কিছুটা বিশদ সহকারে, কারণ এটি কারওর পক্ষে সহায়তা করতে পারে



5

অ্যাঙ্গুলার 2 আরসি 1 এ আপনি রুটসেসমেন্টটি ইনজেকশন করতে পারেন এবং এটিকে নেভিগেট পদ্ধতিতে পাস করতে পারেন।

constructor(private router:Router,private segment:RouteSegment) {}

  ngOnInit() {
    this.router.navigate(["explore"],this.segment)
  }

5

কৌণিক ২.২.১ সহ (একটি কৌণিক 2-ওয়েবপ্যাক-স্টার্টার ভিত্তিক প্রকল্পে) এটি কাজ করে:

export class AppComponent {
  subscription: Subscription;
  activeUrl: string;

  constructor(public appState: AppState,
              private router: Router) {
    console.log('[app] constructor AppComponent');
  }

  ngOnInit() {
    console.log('[app] ngOnInit');
    let _this = this;
    this.subscription = this.router.events.subscribe(function (s) {
      if (s instanceof NavigationEnd) {
        _this.activeUrl = s.urlAfterRedirects;
      }
    });
  }

  ngOnDestroy() {
    console.log('[app] ngOnDestroy: ');
    this.subscription.unsubscribe();
  }
}

অ্যাপকোম্পোনেন্টের টেমপ্লেটে আপনি উদাহরণস্বরূপ {{activeUrl} use ব্যবহার করতে পারেন}

এই সমাধানটি রাউটারলিঙ্কএকটিভের কোড দ্বারা অনুপ্রাণিত।


এটি আপনার / উইন্ডো ইভেন্টে পুনর্নির্দেশ করে এমন একটি ওয়াইল্ড কার্ডের রুট রয়েছে তবে এটি একটি উত্তরের উত্তর / সি হবে ur ইভেন্ট.urlAfterRedirects আসল শেষ রুট মুদ্রণ করবে। TY।
ইয়ান পোস্টন ফ্রেমার

4

কৌণিক 2 আরসি 2

router.urlTree.contains(router.createUrlTree(['/home']))

4

এখানে আমার জন্য কৌনিক ২.৩.১ এ কাজ করছে।

location: any;

constructor(private _router: Router) { 

      _router.events.subscribe((data:any) => { this.location = data.url; });

      console.warn(this.location);  // This should print only path e.g. "/home"
}

dataএকটি বস্তু এবং আমরা প্রয়োজন urlসম্পত্তি যে বস্তুর অন্তর্ভুক্ত। সুতরাং আমরা একটি ভেরিয়েবলে সেই মানটি ক্যাপচার করি এবং আমরা সেই পরিবর্তনশীলটি আমাদের এইচটিএমএল পৃষ্ঠায়ও ব্যবহার করতে পারি। উদাহরণস্বরূপ, আমি যখন হোম হোম পৃষ্ঠায় থাকি তখনই আমি একটি ডিভি প্রদর্শন করতে চাই। এই ক্ষেত্রে, আমার রাউটারের ইউআরএল মান হবে /home। সুতরাং আমি নিম্নলিখিত পদ্ধতিতে একটি ডিভি লিখতে পারি:

<div *ngIf="location == '/home'">
This is content for the home page.
</div>

4

ব্যবহার করতে আমারও একই সমস্যা ছিল

this.router.url

আমি ক্যোয়ারী প্যারামগুলি সহ বর্তমান রুটটি পেয়েছি। এর পরিবর্তে আমি এটি ব্যবহার করেছিলাম:

this.router.url.split('?')[0]

সত্যিই দুর্দান্ত সমাধান নয়, তবে সহায়ক।


4

তুমি ব্যবহার করতে পার ActivatedRoute বর্তমান রাউটার পেতে

আসল উত্তর (আরসি সংস্করণের জন্য)

আমি AngularJS গুগল গ্রুপে একটি সমাধান পেয়েছি এবং এটি এত সহজ!

ngOnInit() {
  this.router.subscribe((url) => console.log(url));
}

আসল উত্তর এখানে

https://groups.google.com/d/msg/angular/wn1h0JPrF48/zl1sHJxbCQAJ


আরসি ২ হিসাবে পরিবর্তন করা হয়েছে, urlএখন আর ইউআরএল এবং স্ট্রিং নয়, তবে একটি ComponentInstruction
মার্টিন সি

4

উপায় 1 : কৌণিক ব্যবহার: this.router.url

import { Component } from '@angular/core';

// Step 1: import the router 
import { Router } from '@angular/router';

@Component({
    template: 'The href is: {{href}}'
    /*
    Other component settings
    */
})
export class Component {
    public href: string = "";

    //Step 2: Declare the same in the constructure.
    constructor(private router: Router) {}

    ngOnInit() {
        this.href = this.router.url;
        // Do comparision here.....
        ///////////////////////////
        console.log(this.router.url);
    }
}

ওয়ে জাভাস্ক্রিপ্টে যেমন করি 2 উইন্ডো.লোকেশন, আপনি যদি রাউটারটি ব্যবহার করতে না চান তবে

this.href= window.location.href;

3

আপনার উদ্দেশ্যে আপনি ব্যবহার করতে পারেন this.activatedRoute.pathFromRoot

import {ActivatedRoute} from "@angular/router";
constructor(public activatedRoute: ActivatedRoute){

}

PathFromRoot এর সহায়তায় আপনি প্যারেন্ট ইউআরএলগুলির তালিকা পেতে পারেন এবং URL এর প্রয়োজনীয় অংশটি আপনার অবস্থার সাথে মেলে কিনা তা পরীক্ষা করতে পারেন।

অতিরিক্ত তথ্যের জন্য এই নিবন্ধটি চেক করুন http://blog.2muchcoffee.com/getting-current-state-in-angular2-router/ বা npm থেকে NG2-রাউটার-সাহায্যকারী ইনস্টল

npm install ng2-router-helper

3

বর্তমান রুটের পিতামাতার সন্ধানের জন্য, আপনি UrlTreeরাউটার থেকে আপেক্ষিক রুটগুলি ব্যবহার করে তা পেতে পারেন :

var tree:UrlTree = router.createUrlTree(['../'], {relativeTo: route});

তারপরে প্রাথমিক আউটলেটের বিভাগগুলি পেতে:

tree.root.children[PRIMARY_OUTLET].segments;

3

এখন পর্যন্ত, আমি নিম্নলিখিত হিসাবে আমার পথ পাচ্ছি -

this.router.url.subscribe(value => {
    // you may print value to see the actual object
    // console.log(JSON.stringify(value));
    this.isPreview = value[0].path === 'preview';
})

যেখানে, routerএকটি উদাহরণActivatedRoute



3
import { Router, NavigationEnd } from "@angular/router";

constructor(private router: Router) {
  // Detect current route
  router.events.subscribe(val => {
    if (val instanceof NavigationEnd) {
      console.log(val.url);
    }
});

2

এটি সাধারণ, কৌণিক 2 এ আপনার কেবল রাউটার লাইব্রেরিটি এই জাতীয়ভাবে আমদানি করতে হবে :

import { Router } from '@angular/router';

তারপরে উপাদান বা পরিষেবাটির নির্মাত্রে আপনাকে এটি এ জাতীয় ইনস্ট্যান্ট করতে হবে:

constructor(private _router: Router) {}

তারপরে কোডের যে কোনও অংশে, কোনও ফাংশন, পদ্ধতিতে, যা কিছু রচনা করুন:

      this._router.events
        .subscribe(
            (url:any) => {
                let _ruta = "";
                url.url.split("/").forEach(element => {
                    if(element!=="" && _ruta==="")
                        _ruta="/"+element;  
                });
                console.log("route: "+_ruta); //<<<---- Root path
                console.log("to URL:"+url.url); //<<<---- Destination URL                    
                console.log("from URL:"+this._router.url);//<<<---- Current URL
            }); 

2

আপনি .ts ফাইলটিতে ব্যবহার করতে পারেন

import { Route, Router, NavigationStart } from '@angular/router';

constructor(private router: Router) {}

this.router.events.subscribe(value => {
      if (value instanceof NavigationStart) {
        console.log(value) // your current route
      }
    });

1

এটি আপনার উত্তর হতে পারে, আপনি যে URL / রুটটি পড়তে চান তা থেকে প্যারামিটার পেতে সক্রিয় রুটের প্যারামগুলি পদ্ধতি ব্যবহার করুন, নীচে ডেমো স্নিপেট রয়েছে

import {ActivatedRoute} from '@angular/router'; 
@Component({
})
export class Test{
constructor(private route: ActivatedRoute){
this.route.params.subscribe(params => {
             this.yourVariable = params['required_param_name'];
        });
    }
}


1

আপনার যদি বর্তমান ইউআরএল অ্যাক্সেস করার প্রয়োজন হয় তবে সাধারণত আপনাকে কিছু করার জন্য নেভিগেশনএন্ড বা নেভিগেশন স্টার্টের জন্য অপেক্ষা করতে হবে। আপনি যদি কেবল রাউটার ইভেন্টগুলিতে সাবস্ক্রাইব করেন তবে সাবস্ক্রিপশনটি রুট লাইফসাইলে অনেক ইভেন্ট আউটপুট করবে। পরিবর্তে, আপনার প্রয়োজন ইভেন্টের জন্য কেবল ফিল্টার করতে একটি আরএক্সজেএস অপারেটর ব্যবহার করুন। এর উপকারী পার্শ্ব প্রতিক্রিয়াটি এখন আমাদের কাছে কঠোরতর ধরণের রয়েছে!

constructor(private router: Router) {
    router.events.pipe(
      filter(ev => (ev instanceof NavigationEnd))
    ).subscribe((ev: NavigationEnd) => {
      console.log(ev.url);
    });
}


1

যখন আমি অ্যাপ্লিকেশনটির মাধ্যমে নেভিগেট করতে বা কোনও ইউআরএল অ্যাক্সেস করছি তখন আমার যেখানে URL টির প্রয়োজন হয়েছিল সেখানে আমি সমস্যার মুখোমুখি হয়েছি ইউআরএল-এর উপর ভিত্তি করে সন্তানের উপাদানগুলি প্রদর্শন (বা একটি নির্দিষ্ট ইউআরএল রিফ্রেশ করে)

আরও, আমি একটি পর্যবেক্ষণযোগ্য চাই যা টেমপ্লেটে গ্রাস করা যেতে পারে, সুতরাং রাউটার.আরল কোনও বিকল্প ছিল না। বা রাউটার.ইভেনশন সাবস্ক্রিপশন কারণ উপাদানটির টেমপ্লেট আরম্ভ করার আগে রাউটিং বরখাস্ত করা হয়।

this.currentRouteURL$ = this.router.events.pipe(
     startWith(this.router),
     filter(
         (event) => event instanceof NavigationEnd || event instanceof Router
     ),
     map((event: NavigationEnd | Router) => event.url)
);

আশা করি এটি সাহায্য করবে, সৌভাগ্য!


1
এটা সত্যিই দারুন.
কোডেপিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.