Mat Slider值在滑动时未更新

时间:2018-10-14 08:48:11

标签: angular angular-material angular-material2

垫子滑块的值在滑动时不会同步更新。

<mat-slider [(ngModel)]="myValue" step="1" min="0" max="100" ></mat-slider>
{{myValue}} 

仅在释放滑块后才进行更新。

2 个答案:

答案 0 :(得分:2)

您需要将input输出(奇怪的名称选择)绑定到处理程序,请参见the docs。如果要跟踪滑块值,可以执行以下操作:

<mat-slider (change)="updateSliderValue($event)" (input)="updateSliderValue($event)
 [(ngModel)]="myValue" 
 step="1" min="0" max="100" ></mat-slider>
{{ slideValue$ | async }}


import {MatSliderChange} from '@angular/material';
// Using rxjs@6.x
import {BehaviorSubject} from 'rxjs'
private slideSubject = new BehaviorSubject<int>(0);
readonly slideValue$ = this.slideSubject.asObservable();

updateSliderValue(event: MatSliderChange){
    slideSubject.next(event.value);
}

答案 1 :(得分:1)

使用javascript输入事件:

<mat-slider [(ngModel)]="myValue" (input)="myValue = $event.value"></mat-slider>