Pass value to another page in angular

2

Good morning !! On a certain page I have a button that takes code and name of a client and I need to pass this information to an input from another page:

Function page that takes code and name

<tr *ngFor="let pesquisas of pesquisa">
              <td class="text-center">{{pesquisas.Codigo}}</td>
              <td class="text-center">{{pesquisas.Nome}}</td>
              <th>
                <button class="btn btn-default" (click)="PegarValores(pesquisas.Codigo, pesquisas.Nome)">
                  <i class="glyphicon glyphicon-ok" style="color:green;"></i>  Iniciar
                </button>
              </th>
            </tr>

Page that I want to receive input

<div class="col-md-4">
      <label>Cliente:</label>
      <div class="input-group">
        <input type="text" class="form-control small" formControlName="codigoCliente" required>
        <input type="text" class="form-control size" formControlName="nomeCliente">
        <span class="input-group-btn">
          <button type="button" class="btn btn-info" style="height:30px;">
            <i class="glyphicon glyphicon-search a"></i>
          </button>
        </span>
      </div>
    </div>

Ps: I'm getting the information in the GetValues function (when clicking, the console shows the client I'm selecting)

    
asked by anonymous 18.06.2018 / 15:43

1 answer

1

There are two main ways to share a state between two components that have no parent / child relationship. The first would be with behavior subject with a service injected into the two components otherwise it would be by a state manager like ngrx that follows the default redux.

Example with behavior subject:

data.service.ts

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';

import { Data } from '../entities/data';

@Injectable()
export class DataService {

  private dataSource = new BehaviorSubject<SnapshotSelection>(new Data());
  data = this.dataSource.asObservable();

  constructor() { }

  updatedDataSelection(data: Data){
    this.dataSource.next(data);
  }

}

Your Component

constructor(private dataService: DataService) { }

dataService.data.subscribe(data => {
// use os dados aqui
})

dataService.updateData(newData);// para atualizar os dados

Source: link

    
18.06.2018 / 16:28