/ / Angular: Agregar valor a la matriz de otro componente - angular, mecanografiado

Angular: Agregar valor a la matriz de otro componente: angular, mecanografiado

Tengo 2 componentes, al hacer clic en el botón del primer componente, el valor (cualquier cadena) debe agregarse a la matriz del segundo componente. ¿Cómo puedo conseguir esto? Yo trabajo en angular 4.

@Component({
selector: "app-sibling",
template: `
{{message}}
<button (click)="newMessage()">New Message</button>
`,
styleUrls: ["./sibling.component.css"]
})
newMessage() {
console.log("button clicked");
}

Respuestas

0 para la respuesta № 1

Usted está buscando principalmente comunicarse entre dos componentes,

Puedes usar un servicio con Array. Un servicio en Angular es un singleton, lo que significa que se gestiona como una sola instancia. Entonces, si cada uno de los componentes accede al servicio, accederán a los mismos datos compartidos.

export class cartService{
prod :any = [];
UpdateArray (newObject: any) {
this.prod.push(newObject);
}
}

En tu componente puedes hacer esto,

  this._cartService.UpdateArray(this.prod);

Cualquiera puede ser reemplazado con su tipo de objeto


-1 para la respuesta № 2

Lo que podrías hacer es crear un servicio.

Puedes hacer esto con el CLI

ng generate service "name"

A continuación, puede crear una variable en este servicio, inyectar el servicio en ambos componentes y tendrá acceso a él en ambos componentes.

Mira esto https://angular.io/tutorial/toh-pt4