Добавить или изменить значение ключа JSON с неработающим javascript в ember

В файле .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' ;
     }
}
Updating traveller_id_proof_link is working but id_update_status is not working. How to handle it ?

Это правда. Если вычисляемое свойство не используется (например, в шаблоне), оно не обновляется. Вы можете один раз попробовать отобразить его в демонстрационных целях. Но, пожалуйста, опубликуйте соответствующий controller / component.js, чтобы получить хороший ответ.

Jeff 02.04.2018 03:43

@Jeff обновлен !! Можете ли вы взглянуть на это сейчас.

krishna murari 02.04.2018 06:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
135
1

Ответы 1

Привет, ты можешь показать мне, как ты инициализировал adultJsonArr? Это могло быть потому, что содержимое внутри массива могло не быть объектом ember. Также он должен быть обновлен с помощью сеттера, я думаю.

Можно попробовать это:

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

Другие вопросы по теме