/ / कोणीय 2 बाल घटक के लिए राउंटिंग का उपयोग कर पैरामीटर भेजें - कोणीय, पैरामीटर, रूटिंग, राउटर

angular2 बाल घटक के लिए राउंटिंग का उपयोग कर पैरामीटर भेजें - कोणीय, पैरामीटर, रूटिंग, राउटर

मैं एक बच्चा घटक भेजने की कोशिश कर रहा हूं(resultadoBusqueda.component) एक घटक के लिए बटन पर क्लिक करने के समय पैरामीटर की एक श्रृंखला, यदि मैं "this.router.navigate ([" ./ resultadoBusqueda "], नेविगेशन एक्स्ट्रास) करता हूं;" काम नहीं करता है, जबकि अगर मैं राउटरलिंक "चाइल्ड वन" के साथ करता हूं तो यह काम करता है और घटक बच्चे को लोड करता है, समस्या यह है कि राउटरलिंक के साथ मैं बाद में भेजने के लिए पैरामीटर की श्रृंखला का प्रयास नहीं कर सकता, मुझे राउटर के साथ ऐसा करने की ज़रूरत है। नेविगेट। कोई उपाय?

Busqueda.component.html

<button (click)="EnviarQueryParams()">Enviar query params a resultadoBusquedaComponent.ts</button>
<!--<a [routerLink]="["./resultadoBusqueda"]">Child One</a>-->
<router-outlet></router-outlet>

Busqueda.component.ts

import { Component } from "@angular/core";
import {Router, NavigationExtras} from "@angular/router";

@Component({
selector: "app-busqueda-component",
templateUrl: "./busqueda.component.html",
})

export class BusquedaComponent {
public constructor(private router: Router) { }

EnviarQueryParams(){
let navigationExtras: NavigationExtras = {
queryParams: {
"firstname": "Nic",
"lastname": "Raboy"
}
};
this.router.navigate(["./resultadoBusqueda"], navigationExtras);
}
}

resultadoBusqueda.component.ts (चाइल्ड घटक, "Busqueda.Component" के राउटर-आउटलेट में यह घटक भार

import { Component, OnInit} from "@angular/core";
import { Observable } from "rxjs";
import { Subject } from "rxjs/Subject"
import {ActivatedRoute} from "@angular/router";

@Component({
selector: "app-resultado-busqueda-component",
templateUrl: "./resultadoBusqueda.component.html",
providers: [EmployeeService]
})

export class ResultadoBusquedaComponent  implements OnInit {
public firstname: string;
public lastname: string;
constructor(private _employeeService: EmployeeService,private route:
ActivatedRoute) {    }

ngOnInit() {
this.route.queryParams.subscribe(params => {
this.firstname = params["firstname"];
this.lastname = params["lastname"];
});
}
}

app.module.ts

// Some stuff ...
const appRoutes: Routes = [
{ path: "busqueda", component: BusquedaComponent,
children: [{path: "resultadoBusqueda",  component:
ResultadoBusquedaComponent}]
},
{ path: "employees", component: EmployeeListComponent },
{ path: "", redirectTo: "/home", pathMatch: "full" },
{ path: "**", component: PageNotFoundComponent }
];

// Some stuff ...
imports: [
BrowserModule, FormsModule,  Ng2CompleterModule, HttpModule,
RouterModule.forRoot(appRoutes)
],

उत्तर:

जवाब के लिए 0 № 1

आप क्वेरी पैराम पास कर सकते हैं RouterLink भी। यह चर्चा की गई है यहाँ कोणीय दस्तावेज़ों में।

आप इस तरह अपने प्रश्न पैरा जोड़ सकते हैं:

<a routerLink="resultadoBusqueda" [queryParams]="navigationExtras">Child One</a>