WedX - журнал о программировании и компьютерных науках

вложенное поле прямоугольной заплаты

У меня возникают проблемы с исправлением вложенного объекта с помощью Restangular.

Объект, который я исправляю:

{
"unread_notification_count": 18, 
"notification_settings": {
    "mention": {
        "email_notification": true, 
        "platform_notification": true, 
        "desktop_notification": true
    }, 
    "history_update": {
        "email_notification": true, 
        "platform_notification": true, 
        "desktop_notification": true
    }, 
    "assign": {
        "email_notification": true, 
        "platform_notification": true, 
        "desktop_notification": true
    }
}

Я хочу исправить некоторые логические значения при переключении переключателя.

Когда я переключаю переключатель прямо сейчас, я запускаю эту функцию

$scope.patch = function(key, field, value) {
         var updated = {
         };
        // Below this isnt working
        updated['notification_settings'][key][field] = value;

         Restangular.one('users/'+ Global.user.id).patch(updated).then(function (data) {
             console.log('succes');
         }, function(error) {
             console.log(error);
         });
    }

Часть, с которой я не могу работать, - это то, что публиковать в обновленном объекте. Мне нужно обновить вложенное поле, но я не знаю как.

Например, я хочу установить уведомления_настройки -> упоминание (ключ) -> платформа_уведомление (поле) = true (значение)


  • Вы получаете какую-либо ошибку? Что вы получите, если console.log(updated['notification_settings'][key][field]) присвоите этому значению значение? 15.12.2015
  • Я получил «неопределенное». Уже нашел ответ сам. Проверьте ниже 16.12.2015

Ответы:


1

Я нашел ответ для тех, у кого такая же проблема: D

в обновленном объекте я просто добавил все настройки уведомлений

var updated = {
    notification_settings: Global.user.notification_settings
};

Restangular сделал все остальное за меня. Я думаю, что это не лучший способ сделать это, но вместо того, чтобы отправлять 1 логическое значение на сервер, я отправляю 9. С точки зрения производительности это не большая проблема (для меня)

15.12.2015
Новые материалы

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


Для любых предложений по сайту: [email protected]