Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度:向另一个组件的数组添加值_Angular_Typescript - Fatal编程技术网

Angular 角度:向另一个组件的数组添加值

Angular 角度:向另一个组件的数组添加值,angular,typescript,Angular,Typescript,我有两个组件,单击第一个组件的按钮后,值(任何字符串)应添加到第二个组件的数组中。我怎样才能做到这一点?我在angular 4上工作 @Component({ selector: 'app-sibling', template: ` {{message}} <button (click)="newMessage()">New Message</button> `, styleUrls: ['./sibling.component.css']

我有两个组件,单击第一个组件的按钮后,值(任何字符串)应添加到第二个组件的数组中。我怎样才能做到这一点?我在angular 4上工作

@Component({
  selector: 'app-sibling',
  template: `
    {{message}}
    <button (click)="newMessage()">New Message</button>
  `,
  styleUrls: ['./sibling.component.css']
})
newMessage() {
    console.log("button clicked");
  }
@组件({
选择器:“应用程序同级”,
模板:`
{{message}}
新消息
`,
样式URL:['./sibling.component.css']
})
newMessage(){
控制台日志(“点击按钮”);
}

您主要希望在两个组件之间进行通信

您可以将服务与阵列一起使用。Angular中的服务是单实例,这意味着它作为单个实例进行管理。因此,如果每个组件都访问服务,它们将访问相同的共享数据

export class cartService{
    prod :any = [];        
    UpdateArray (newObject: any) {
        this.prod.push(newObject);         
    }
}
在您的组件中,您可以这样做

  this._cartService.UpdateArray(this.prod);

任何组件都可以替换为对象类型

这些组件之间的关系是什么?父母和孩子?兄弟姐妹?如果这两个组件不是父/子组件,则使用服务(基于观察值)在这两个组件之间通信,否则使用输入/输出it父/子关系查看有关它的官方文档:使用