Javascript 有棱角的在这些组件之间共享数据

Javascript 有棱角的在这些组件之间共享数据,javascript,angular,Javascript,Angular,我对Angular是个新手,这里有个问题: 我想将我拥有的数据从这个服务+组件传递到另一个组件 我有一个这样做的服务: getRecs() { let recsSub = new Subject<any>(); let recsSubObservable = from(recsSub); this.socket.on('recs', (recsStatus: any) => { recsSub.next(recsStatus);

我对Angular是个新手,这里有个问题: 我想将我拥有的数据从这个服务+组件传递到另一个组件

我有一个这样做的服务:

getRecs() {

    let recsSub = new Subject<any>();
    let recsSubObservable = from(recsSub);

    this.socket.on('recs', (recsStatus: any) => {
        recsSub.next(recsStatus);
    });

return recsSubObservable;
}
我需要的是用从
recsStatus
获得的值填充另一个组件中的列表,但我不知道如何操作


谢谢大家的帮助。

如果该组件是您在清单中描述的组件(父组件)的子组件,您可以使用
@Input()
注释

@Component({
    selector: 'child-comp',
    template: `
    <div>
        {{ localRecStatus | json }}
    </div>
   `
})
export class ChildComponent {
    @Input()
    localRecStatus: [];
}
@组件({
选择器:'子组件',
模板:`
{{localRecStatus}json}
`
})
导出类子组件{
@输入()
localRecStatus:[];
}
现在,您可以使用父组件的HTML文件中的组件,如下所示:

<child-comp [localRecStatus]="recStatus"></child-comp>


这样,您就可以在子组件中使用recStatus。但是,
recStatus
必须是父组件的公共变量。使用此技术,可以将任何数据传递给子组件。还有一个
@Output()
注释,可以与EventEmitter结合使用,将数据发送到父组件。如果组件不是子组件,可能更好的方法是通过两个组件之间的服务进行通信

这是应用程序树:|-app-component |-recs-component |-app-service要填充的列表位于
recs-component
中,
app-component
是将数据发送给app-component的人。您想填充列表吗?为什么不调用服务的适当方法来发送recs组件中的数据?我认为您不应该在应用程序组件中放置太多的逻辑和HTML。最好使用专用组件来完成这些工作。您是否看到了以下内容:
<child-comp [localRecStatus]="recStatus"></child-comp>