javascript - 在 ember 中使用 javascript 添加或更改 JSON 键的值不起作用

标签 javascript ember.js handlebars.js

在 .hbs 文件中,我尝试打开一个弹出窗口并使用包含 .

模板.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 itworking?' 一样工作。它基本上就像弹出窗口中第 4 行和第 7 行未使用的 json 属性可以更新,但正在使用的属性则不能更新。

组件.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 不起作用。怎么处理呢?

最佳答案

你好,你能告诉我你是如何初始化adultJsonArr的吗? 这可能是因为数组内的内容可能不是 ember 对象。 我认为它还应该使用 setter 进行更新。

可以尝试这个:

this.get('adultJsonArr').objectAt(this.get('choiceId')).set('traveller_id_proof_link', 'updated');

关于javascript - 在 ember 中使用 javascript 添加或更改 JSON 键的值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49601553/

相关文章:

javascript - 按周添加日期会产生错误的日​​期。为什么会这样?

javascript - 如何从外部js文件onload或onclick事件调用函数到我的html中

javascript - AngularJS - 如何使用 $routeParams 生成 templateUrl?

Handlebars.js Else If

loops - 每个在 ember 和 Handlebars 中都有索引和模数

node.js - if 语句包含在 Handlebars 中

javascript - 具有最多嵌套模型和茧 gem 的 rails ;

javascript - 在开始 Ember.js 时,Rails 或服务器端开发人员应该进行哪些思维范式转变?

javascript - 如何在 Ember.js 中重新加载当前路由?

ember.js - 使用 ember.js,当 CollectionView 重新渲染时如何收到通知?