Сегодня я осознал неожиданное (для меня) поведение реактивных форм в Angular 5. Сервер получал из приложения строку со значением "null" вместо нулевого значения, что я и хотел.
Я сделал следующий тест:
https://stackblitz.com/edit/angular-rjrspr?file=app%2Fapp.component.html
Как вы можете видеть на рисунке ниже, если я использую [value]="null"
в select, поле получает значение "null" (строковый литерал) в качестве значения. Однако, если я использую [ngValue]="null"
он получает ожидаемое null
значение.
Я думал, что использование value
было предназначено для реактивных форм, в то время как ngValue
было для форм, управляемых шаблоном. Я хотел бы знать, безопасно ли использовать оба в моих формах (я всегда использую реактивные формы) и есть ли какое-либо объяснение различному поведению.
Спасибо!