कोणीय: मैन्युअल मार्ग पर पुनर्निर्देशित


89

मैंने अभी हाल ही में angular.js 1 के बजाय कोणीय 4 का उपयोग शुरू किया है।

मैंने कोणीय 4 के मूल सिद्धांतों के बारे में जानने के लिए नायकों के ट्यूटोरियल का अनुसरण किया है और मैं वर्तमान में "@ कोणीय / राउटर" पैकेज से कोणीय के "राउटरमॉडल" का उपयोग कर रहा हूं।

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

जवाबों:


225

कोणीय मार्ग: मैनुअल नेविगेशन

पहले आपको कोणीय राउटर आयात करने की आवश्यकता है:

import {Router} from "@angular/router"

फिर इसे अपने घटक निर्माता में इंजेक्ट करें:

constructor(private router: Router) { }

और अंत में .navigateविधि को कहीं भी कॉल करें जिसे आपको "रीडायरेक्ट" करने की आवश्यकता है:

this.router.navigate(['/your-path'])

आप अपने मार्ग पर कुछ पैरामीटर भी रख सकते हैं, जैसे user/5:

this.router.navigate(['/user', 5])

प्रलेखन: कोणीय आधिकारिक दस्तावेज


8

Angularjs में पुनर्निर्देशन 4 बटन जैसे घटना के लिए: app.home.html

<input type="button" value="clear" (click)="onSubmit()"/>

और home.componant.ts में

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

 @Component({
   selector: 'app-root',
   templateUrl: './app.home.html',
 })

 export class HomeComponant {
   title = 'Home';
   constructor(
     private router: Router,
    ) {}

  onSubmit() {
    this.router.navigate(['/doctor'])
 }
 }

5

आपको अपने कंस्ट्रक्टर में राउटर को इस तरह इंजेक्ट करना चाहिए;

constructor(private router: Router) { }

तो आप यह कर सकते हैं कहीं भी आप चाहते हैं;

this.router.navigate(['/product-list']);

1
जैसा कि यह प्राधिकरण के लिए है, आपको राउटर गार्ड के अंदर भी ऐसा करना चाहिए। codecraft.tv/courses/angular/rout/router-guards
ग्राहम फॉल्स

3

कोणीय पुनर्निर्देशन मैन्युअल रूप से: आयात @angular/router, constructor()तब कॉल में इंजेक्ट करें this.router.navigate()

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

constructor(private router: Router) {
  ...
}

onSubmit() {
  ...
  this.router.navigate(['/profile']); 
}


1

Components.ts फ़ाइल ## पर फ़ंक्शन का उपयोग करके दूसरे पृष्ठ पर रीडायरेक्ट करें

   componene.ts-
   ------------------------------------------------------------------------  
   import {Router} from '@angular/router';

   constructor(private router: Router) {}

   OnClickFunction()
   {
        this.router.navigate(['/home']);
   }

  component.html-
  ----------------------------------------------------------------------------------- 

     <div class="col-3">                  
         <button (click)="OnClickFunction()" class="btn btn-secondary btn-custom mr- 
          3">Button Name</button>
    </div>   

1

आपके प्रश्न के लिए आपके पास पर्याप्त सही उत्तर हो सकते हैं लेकिन यदि आपका आईडीई आपको चेतावनी देता है

नेविगेट से लौटे वादे को नजरअंदाज कर दिया जाता है

आप या तो उस चेतावनी को अनदेखा कर सकते हैं या उपयोग कर सकते हैं this.router.navigate(['/your-path']).then()


0

यह काम करना चाहिए

import { Router } from "@angular/router"

export class YourClass{

   constructor(private router: Router) { }

   YourFunction() {
      this.router.navigate(['/path']);
   }

}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.