Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

527
Vistas
Escriba 'cadena | null' no se puede asignar al tipo 'cadena | indefinido'. El tipo 'null' no se puede asignar al tipo 'string | indefinido'

Cuando hago una propiedad como id!:string; o id:cadena=''; cuando asigno el valor de params me sale un error

(propiedad) MoreParametersComponent.id: string ts(2322)Type 'string | null' no se puede asignar al tipo 'cadena'. El tipo 'null' no se puede asignar al tipo 'string'.

 import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; @Component({ selector: 'app-more-parameters', templateUrl: './more-parameters.component.html', styleUrls: ['./more-parameters.component.css'] }) export class MoreParametersComponent implements OnInit { id!: string; // or id:string=''; id2:number=0; constructor(private activatedRoute:ActivatedRoute) { } ngOnInit(): void { this.activatedRoute.paramMap.subscribe(params=>{ this.id=params.get('id'); // gives the above error here this.id2=parseInt(params.get('id2'));//error }); } }

¿Cómo soluciono este error?

Mi resto del código:

aplicación.componente.html

 <a routerLink=""> Home </a><br> <a routerLink="one-parameter,'p01'"> One-Parameter </a><br> <a routerLink="more-parameter,{id:'p02',id2:123}"> More-Parameter </a> <br><br> <router-outlet></router-outlet> <br><br>

Ruta.config.ts

 import { Routes } from '@angular/router' import { HomeComponent } from './home/home.component'; import { MoreParametersComponent } from './more-parameters/more-parameters.component'; import { OneParamterComponent } from './one-paramter/one-paramter.component'; export const mainroute:Routes=[ {path:'',component:HomeComponent}, {path:'one-parameter',component:OneParamterComponent}, {path:'more-parameter',component:MoreParametersComponent} ];
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El retorno de ParamMap.get es una string | null que no coincide con su tipo de id .

Podría lanzar el retorno de ParamMap.get a una cadena como params.get('id') as string

O podría suscribirse a params en su lugar, que devuelve un objeto con tipo de propiedad any y accede al id param como una clave de objeto params.id . Ver https://angular.io/api/router/Params

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda