Я пытаюсь обновить входное значение, но оно возвращает эту ошибку: TypeError: "установка значения свойства только для получения" Я создал функцию в angular, чтобы попытаться изменить значение:
modifyValue(searchCenter, centerId){
searchCenter.value = centerId._id;
}
centerId - это значение, которое я хочу присвоить входному значению.
А это HTML:
<p>
<label>Search a center</label>
<input type = "text" name = "searchCenter" class = "form-control" #searchCenter='ngModel' [(ngModel)] = "term" [(ngModel)] = "user.center" required/>
</p>
<div class = "center panel panel-default" *ngFor = "let center of centers | filter:term">
<div class = "panel-body">
<button (click) = "modifyValue(searchCenter, center)" type = "button" class = "centers-button">{{center.name}}, {{center.community}},
{{center.municipality}}</button>
</div
>
Вы пытаетесь установить свойство value
объекта string
, что неверно. Строка не имеет свойства под названием value
.
Возможно, вы пытаетесь установить значение term
. У вас есть два варианта сделать это -
- First change
Изменить в html
#searchCenter='ngModel'
к
#searchCenter
2.Second option is change in the ts file
modifyValue(searchCenter, centerId){
this.term = centerId._id;
}
#searchCenter
, если он типаNgModel
. Вы, вероятно, захотите иметь просто#searchCenter
(без части= "ngModel"
) в вашем вводе. Также наличие двух[(ngModel)]
кажется ... ненормальным.