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

240
Visualizações
incapaz de pasar datos entre un componente a otro componente en angular

Estoy tratando de pasar datos de un componente a otro componente. Usé el método de archivo de servicio. Creé dos componentes, uno es inicio de sesión y el segundo es hogar. Tengo que pasar datos de inicio de sesión a casa. en el componente de inicio de sesión, tomo la entrada del usuario y el componente de inicio debería imprimir eso. Usé este código a continuación, pero cuando doy entrada, no se imprime en la salida.

 import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class SharedService { message : any; constructor() { } setMessage(data: any){ this.message=data; } getMessage(){ return this.message; } }
este es el código de mi componente de inicio
 import { Component, OnInit } from '@angular/core'; import { SharedService } from '../shared/shared.service' @Component({ selector: 'app-home', templateUrl: './home.component.html', styleUrls: ['./home.component.css'] }) export class HomeComponent implements OnInit { message : string | undefined; constructor(private shared:SharedService ) {} ngOnInit() { this.message =this.shared.getMessage() } }
 <h1> {{ message }} </h1>
este es mi código de componente de inicio de sesión
 import { Component, OnInit } from '@angular/core' import { SharedService } from "../shared/shared.service" @Component({ selector: 'app-login', templateUrl: './login.component.html', styleUrls: ['./login.component.css'] }) export class LoginComponent implements OnInit { message : any ; constructor( private shared: SharedService ) { } ngOnInit(): void { this.shared.setMessage(this.message) } }
 <input required type="text" class="form-control" placeholder="Enter username" [(ngModel)]="message">

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

por supuesto, no funcionará de esta manera. La razón por la que no funciona. cuando llama a SharedService en su constructor en el componente de cuadro, crea una instancia de su servicio con el mensaje: any. si lo cambia en un componente, no cambiará en el otro componente.

lo que puedes hacer es. en su servicio message = new Subject() ; setMessage(data: any){ this.message.next(data) ; } usted llama al mensaje establecido en su componente de inicio de sesión. y en su componente de inicio se suscribe al tema así. this.sharedService.getMessage().subscribe( (result :any ) => {console.log(result )} .

lo siento si esta respuesta es desordenada, esta es la primera vez que uso SOF.

about 4 years ago · Santiago Gelvez 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