在.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}}
因此,现在我尝试使用诸如this.adultJsonArr[0].id_update_status = 'updated'
之类的内容在相应的JS文件中更改ID_UPDATE_STATUS的值,因此它无法正常工作。相反,如果我尝试更改任何其他属性,它可以像this.adultJsonArr[0].id_update_status_check = 'Is it working?'
一样起作用。基本上,就像弹出窗口第4和第7行中未使用的JSON属性可以更新,但可以使用一个。
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' ;
}
}
更新traveller_id_proof_link正在工作,但id_update_status不起作用。如何处理?
嗨,你能告诉我您如何初始化成人jonarr吗?可能是因为数组中的内容可能不是Ember对象。我认为也应该用setter对其进行更新。
可能会尝试以下方法:
this.get('adultJsonArr').objectAt(this.get('choiceId')).set('traveller_id_proof_link', 'updated');