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