У меня есть основной компонент, который возвращает копии текущего содержимого формы. Но я не уверен, как получить значение из angular FormGroup без предоставления ссылки на value
группы, в которую он был вызван. Поэтому, если копия извлекается с помощью .value
и изменяется каким-либо другим компонентом, а затем у основного компонента запрашивается еще одна копия, она возвращает версию, которая была изменена каким-либо другим способом.
Из документов на значение кажется, что оно всегда должно быть копией текущего значения внутри фактического FormControls. Но это не так, и изменения, внесенные в результат вызова .value
, продолжают обновлять значение FormGroup. Например:
var formValue = this.personForm.value;
formValue.name = 'Update assumed local copy'
дает, казалось бы, странные все true
результаты:
formValue.name === 'Update assumed local copy'
this.personForm.value.name === 'Update assumed local copy' // What?
Я столкнулся с getRawValue()
, который работает так, как я ожидал, но это также включает в себя отключенные элементы управления, которые я не хочу. Мне нужны только значения, которые будут присутствовать в .value
, но я хочу, чтобы уникальный экземпляр возвращался, например getRawValue()
.
Я предполагаю, что, возможно, мне не удастся использовать JSON stringify / parse, но это было довольно неприятно, и я уверен, что я просто упускаю что-то очевидное здесь.
Вот пример стекаблица Я подбросил, который показывает много странностей, которые я испытываю.