Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

403
Visualizações
¿Cómo obtener parámetros de consulta de url en Angular 2?

Yo uso angular2.0.0-beta.7. Cuando un componente se carga en una ruta como /path?query=value1 , se redirige a /path . ¿Por qué se eliminaron los parámetros GET? ¿Cómo puedo conservar los parámetros?

Tengo un error en los routers. Si tengo una ruta principal como

 @RouteConfig([ { path: '/todos/...', name: 'TodoMain', component: TodoMainComponent } ])

y mi hijo ruta como

 @RouteConfig([ { path: '/', component: TodoListComponent, name: 'TodoList', useAsDefault:true }, { path: '/:id', component: TodoDetailComponent, name:'TodoDetail' } ])

entonces no puedo obtener parámetros en TodoListComponent. soy capaz de conseguir

 params("/my/path;param1=value1;param2=value2")

pero yo quiero el clasico

 query params("/my/path?param1=value1&param2=value2")
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Al inyectar una instancia de ActivatedRoute , uno puede suscribirse a una variedad de observables, incluidos queryParams y params observables:

 import {Router, ActivatedRoute, Params} from '@angular/router'; import {OnInit, Component} from '@angular/core'; @Component({...}) export class MyComponent implements OnInit { constructor(private activatedRoute: ActivatedRoute) {} ngOnInit() { // Note: Below 'queryParams' can be replaced with 'params' depending on your requirements this.activatedRoute.queryParams.subscribe(params => { const userId = params['userId']; console.log(userId); }); } }

UNA NOTA SOBRE LA BAJA DE SUSCRIPCIÓN

@Reto y @codef0rmer habían señalado con toda razón que, según los documentos oficiales, en este caso no es necesario cancelar la unsubscribe() dentro del método onDestroy() de los componentes. Esto ha sido eliminado de mi ejemplo de código. (vea el cuadro de alerta azul en este tutorial)

over 4 years ago · Santiago Trujillo Relatório

0

Cuando una URL es así http://stackoverflow.com?param1=value

Puede obtener el parámetro 1 con el siguiente código:

 import { Component, OnInit } from '@angular/core'; import { Router, ActivatedRoute, Params } from '@angular/router'; @Component({ selector: '', templateUrl: './abc.html', styleUrls: ['./abc.less'] }) export class AbcComponent implements OnInit { constructor(private route: ActivatedRoute) { } ngOnInit() { // get param let param1 = this.route.snapshot.queryParams["param1"]; } }
over 4 years ago · Santiago Trujillo Relatório

0

Aunque la pregunta especifica la versión beta 7 , esta pregunta también aparece como el principal resultado de búsqueda en Google para frases comunes como parámetros de consulta angulares 2 . Por esa razón, aquí hay una respuesta para el enrutador más nuevo (actualmente en alpha.7 ).

La forma en que se leen los parámetros ha cambiado drásticamente. Primero necesita inyectar una dependencia llamada Router en los parámetros de su constructor como:

 constructor(private router: Router) { }

y después de eso, podemos suscribirnos a los parámetros de consulta en nuestro método ngOnInit (el constructor también está bien, pero ngOnInit debe usarse para la capacidad de prueba) como

 this.router .routerState .queryParams .subscribe(params => { this.selectedId = +params['id']; });

En este ejemplo, leemos el ID de parámetro de consulta de una URL como example.com?id=41 .

Todavía hay algunas cosas que notar:

  1. Acceder a la propiedad de params como params['id'] siempre devuelve una cadena , y esto se puede convertir en un número prefijándolo con + .
  2. La razón por la que los parámetros de consulta se recuperan con observable es que permite reutilizar la misma instancia de componente en lugar de cargar una nueva. Cada vez que se cambia el parámetro de consulta, se generará un nuevo evento al que nos hemos suscrito y, por lo tanto, podemos reaccionar ante los cambios en consecuencia.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda