我正在尝试为我的应用创建文件上传组件。最后,当文件上传完成时,我想清除上传的文件,为此,我在文件上载器组件中编写了波纹管功能。
clearFileList(){
this.uploadedFiles=[]
}
现在我想从服务中调用此函数,之后在服务的帮助下可以在其他组件中重用该方法。
我该怎么做。
答案 0 :(得分:1)
从服务中调用组件功能不是最好的模式。我建议有所不同。服务应包含公共主题,组件应订阅该主题:
class Service {
public stream$ = new Subject<any>();
method() {
this.stream$.next(...);
}
}
class Component {
constructor(private service: Service) {}
onInit() {
this.service.stream$.subscribe(data => {
this.method(data);
}
}
method() {
// do stuff;
}
}
从服务中,您可以调用method
,这将调用组件方法。
当然,请记住有关退订的信息。