Я реализовал угловой материал слайд-переключателя, что все, кажется, работают, за исключением какой-то причины, это не является обязательным значением соответствующей вариабельности?

// other irrevelant imports above..
import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';

@Component({
  selector: 'app-calendar',
  templateUrl: './calendar.component.html',
  styleUrls: ['./calendar.component.scss'],
    host: {
     '(document:click)': 'handleClickEvent($event)',
  }
})

export class CalendarComponent implements OnInit {

  filteringSchedule: boolean = false;
  filteringSent: boolean = false;
  filteringFailed: boolean = false;
}

// компонент

<mat-slide-toggle
    class="calendar-filter-types"
    [ngModel]="(filteringSchedule)"
    [color]=""
    [checked]="">
    Scheduled : {{ filteringSchedule }}
</mat-slide-toggle>

Как только я поставлю или сниму флажок, я ожидаю, что значение filteringSchedule изменится на истинное или ложное соответственно? Однако внутри компонента он всегда остается как false по какой-то неизвестной причине - может ли кто-нибудь подсказать, почему это так?

Я угловая 4

12
Zabs 7 Мар 2018 в 18:17
Просто посмотрите на свой код, и вы можете просто объявить свои логические значения следующим образом: filteringSchedule = false; filteringSent = false; filteringFailed = false; поскольку машинописный текст неявно приводит значения, он будет логическим.
 – 
HMarteau
24 Янв 2019 в 10:51

3 ответа

Лучший ответ

Просто обновите свой HTML, чтобы

[(ngModel)]="filteringSchedule"
17
HMarteau 7 Мар 2018 в 18:21
Без проблем :) рад помочь
 – 
HMarteau
7 Мар 2018 в 18:28
2
Также импортируйте FormsModule в свой модуль
 – 
Bagherani
23 Сен 2018 в 08:32
[ngModel]="(filteringSchedule)"

Измените это на:

[(ngModel)]="filteringSchedule"
2
SecretAgentMan 9 Ноя 2020 в 23:01

Это работает на Angular8 +

[(ngModel)]="filteringSchedule"

И убедитесь, что вы уже импортировали FormsModule

import {FormsModule} from '@angular/forms';
1
tinypomelo 9 Ноя 2020 в 10:52