Почему метод «setValue» в TS не работает

#angular #typescript #angular-reactive-forms

Вопрос:

У меня есть такая форма:

введите описание изображения здесь

Который добавляет такие данные после заполнения формы и нажатия на значок :

введите описание изображения здесь

Проблема здесь в том, что для первого узла значения по умолчанию должны быть равны нулю. Я написал функцию selectionchange для mat-выберите, где, если узловая точка равна 0, значение tat и введите заданное расстояние должно быть равно нулю.

введите описание изображения здесь

Это работает, если я выбираю первое значение , все входные данные заполняются нулем. Но я не могу добавить данные. Значок имеет функцию:

введите описание изображения здесь

Поэтому после того, как я нажму значок , в консоли появится журнал, в котором значения этих полей равны 0, но в приведенном выше условии if отображается значение false. Это РАБОТАЕТ ТОЛЬКО в том случае, если я вручную ввожу значения в эти поля. Я делаю что-то не так?

введите описание изображения здесь

На приведенном выше изображении значения фиолетового цвета задаются один раз. После того, как я ввожу значения вручную, они становятся белыми и могут добавлять данные.

Ответ №1:

Так что (0 == «») верно в javascript. Когда вы вводите их вручную, вы получаете «0»(строку) в качестве управляющего значения, поэтому в этом случае оно работает. Возможно, вы захотите использовать строгую проверку на равенство в вашем случае (!==) или работать со строковыми значениями.

Интересно также, что вывод консоли намекает на это. Когда он выводит нули фиолетового цвета, это означает, что это числа, когда в белом цвете — строки

Комментарии:

1. Сохранение значения SET как «0» сработало! . Спасибо.