В файле .hbs я пытаюсь открыть всплывающее окно и использую код, который содержит.
template.hbs
{{#each adultJsonArr as |adultTravellerDetails index|}}
{{my-s3-uploader class = 'uploader-button'}}
<div class = "mdl-cell mdl-cell-6-col ">
{{#if (eq adultTravellerDetails.id_update_status 'available')}}
<p>UPDATE ID Proof</p>
{{/if}}
{{#if (eq adultTravellerDetails.id_update_status 'never_added')}}
<p>ADD ID Proof</p>
{{/if}}
</div>
{{/each}}Итак, теперь я пытаюсь изменить значение id_update_status в соответствующем файле JS, используя что-то вроде this.adultJsonArr[0].id_update_status = 'updated'. Итак, это не работает. Вместо этого, если я попытаюсь изменить какой-либо другой атрибут, он будет работать как this.adultJsonArr[0].id_update_status_check = 'Is it working?', он работает. По сути, это похоже на то, что атрибут json, который не используется в строках 4 и 7 во всплывающем окне, может быть обновлен, а используемый - нет.
component.js
importToCrs(response,uploadResponse){
let file_path = $(uploadResponse).find('Location').html().toString();
if ( this.get('choice')= = "adult"){
this.adultJsonArr[this.get('choiceId')].traveller_id_proof_link = file_path ;
this.adultJsonArr[this.get('choiceId')].id_update_status = 'updating' ;
}
}@Jeff обновлен !! Можете ли вы взглянуть на это сейчас.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Привет, ты можешь показать мне, как ты инициализировал adultJsonArr? Это могло быть потому, что содержимое внутри массива могло не быть объектом ember. Также он должен быть обновлен с помощью сеттера, я думаю.
Можно попробовать это:
this.get('adultJsonArr').objectAt(this.get('choiceId')).set('traveller_id_proof_link', 'updated');
Это правда. Если вычисляемое свойство не используется (например, в шаблоне), оно не обновляется. Вы можете один раз попробовать отобразить его в демонстрационных целях. Но, пожалуйста, опубликуйте соответствующий controller / component.js, чтобы получить хороший ответ.