我正在尝试为我的应用程序创建一个文件上传组件。当文件上传完成时我想要清除上传的文件,因为我在文件up-loader组件中编写了bellow函数。
clearFileList(){
this.uploadedFiles=[]
}
现在我想从服务中调用此函数,之后在服务的帮助下可以在其他组件中重用该方法。
我该怎么做呢。
从服务调用组件功能它不是最好的模式。我建议不同的东西。服务应包含公共主题,组件应订阅:
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
,它将调用组件方法。
当然还记得取消订阅。