Я хочу показать оверлей Progress Bar, пока происходит некоторая обработка.Я могу рассчитать процент выполнения, поэтому я хочу использовать определенный индикатор выполнения.Для оверлейной части я хочу использовать диалог.По сути, я хочу сделать именно то, что здесь делается ( Angular 2 Material Progress Spinner: отображать как оверлей ), за исключением того, что я не хочу Spinner.Поэтому мой компонент будет выглядеть так:
Шаблон:
<mat-progress-bar mode="determinate" [value]="percent"></mat-progress-bar>
Компонент:
import {Component, Input} from '@angular/core';
@Component({
selector: 'progress-bar',
templateUrl: 'progress-bar.html'
})
export class ProgressBarComponent {
@Input() percent: number;
constructor() {}
}
И тогда мой код, использующий этот компонент, будет выглядеть так:
const dialogRef: MatDialogRef<ProgressBarComponent> = this.dialog.open(ProgressBarComponent, {
panelClass: 'transparent',
disableClose: true
});
for (let i = 0; i < this.thingsToProcess.length; i++) {
percentDone = i / this.thingsToProcess.length;
// todo: Update dialogRef.ProgressBarComponent.percent
await this.myService.doProcessing(this.thingsToProcess[i]);
}
Мой вопрос заключается в том, как связать значение «процент» в классе ProgressBarComponent?
Я нашел это ( Как передать данные в диалог углового материала 2 ), но похоже, что это только для инжектора конструктора, а не для привязки.