Javascript 有棱角的在这些组件之间共享数据
我对Angular是个新手,这里有个问题: 我想将我拥有的数据从这个服务+组件传递到另一个组件 我有一个这样做的服务: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);
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>