我正在使用Angular(6),并且想显示一个进度微调器(MatProgressSpinner),而无需了解HTML。当我执行HTTP请求时,我想触发一个显示进度条的JavaScript方法。我不想在HTML的任何地方定义它,它也不应该在DOM中可见,而只能在运行时显示。
我该怎么做?真的找不到解决方法:(
答案 0 :(得分:0)
您可以使用Jquery Modal Loader; 参见https://www.labor.ny.gov/ux/code-modal-loader.html 希望对您有帮助
答案 1 :(得分:0)
您可以编写自定义加载服务,如下所示: https://github.com/boytsovevg/steamRoom/tree/master/src/app/loading
或者您可以实现将您的methodWithSpinner包装的自定义方法
private loadingSubject = new Subject<Loading>();
public loadingState = this.loadingSubject.asObservable();
public withProgressSpinner<T>(spinnerMethod$: Observable<T>): Observable<T> {
this.start();
return spinnerMethod$
.pipe(
finalize(() => this.end())
);
}
private start(): void {
this.loadingSubject.next({isLoading: true} as Loading);
}
private end(): void {
this.loadingSubject.next({isLoading: false} as Loading);
}
随时提问。