我有2个组件,点击第1个组件的按钮,应该将值(任何字符串)添加到第2个组件的数组中。我怎样才能实现这一目标?我在角4上工作。
@Component({
selector: 'app-sibling',
template: `
{{message}}
<button (click)="newMessage()">New Message</button>
`,
styleUrls: ['./sibling.component.css']
})
newMessage() {
console.log("button clicked");
}
答案 0 :(得分:0)
您主要希望在两个组件之间进行通信,
您可以将服务与Array一起使用。 Angular中的服务是单例,这意味着它作为单个实例进行管理。因此,如果每个组件都访问该服务,他们将访问相同的共享数据。
export class cartService{
prod :any = [];
UpdateArray (newObject: any) {
this.prod.push(newObject);
}
}
在您的组件中,您可以执行此操作,
this._cartService.UpdateArray(this.prod);
任何可以用您的对象类型替换
答案 1 :(得分:-1)
您可以做的是创建服务。
您可以使用CLI执行此操作
ng generate service 'name'
您可以在此服务中创建变量,将服务注入到两个组件中,并且您可以在两个组件中访问它。