如何在Angular 5中初始化Material Design的mat-slide-toggle?

ack*_*ser 4 material-design angular-material angular angular5

我无法以反应式形式初始化mat-slide-toggle。

我在模板中有类似的东西

<mat-slide-toggle name="X" formControlName="X" color="primary"></mat-slide-toggle>
Run Code Online (Sandbox Code Playgroud)

在控制器中

X:  new FormControl(true, [
      Validators.required
    ])
Run Code Online (Sandbox Code Playgroud)

我也尝试用1或0或false代替true,但是我没有选择默认值。

如果有人可以帮助我,我将非常感谢。

Bla*_*ard 8

恕我直言,您的代码有问题。您应该执行以下操作:

<mat-slide-toggle [formControlName]="X" [checked]="X.value" (click)="X.value =!X.value" color="primary">{{X.value ? 'ON' : 'OFF'}}</mat-slide-toggle>              
Run Code Online (Sandbox Code Playgroud)

在控制器中,您需要分配formControlso,使用=代替,:即:

 X = new FormControl(true, [
      Validators.required
 ]);
Run Code Online (Sandbox Code Playgroud)