restangular patch 嵌套字段
restangular patch nested field
我在使用 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);
});
}
我似乎无法开始工作的部分是 post 更新对象中的内容。我需要更新嵌套字段,但我不知道如何。
例如我想设置 notification_settings -> mention(key) -> platform_notification(field) = true(value)
我找到了遇到同样问题的人的答案:D
在更新的对象中我刚刚添加了整个通知设置
var updated = {
notification_settings: Global.user.notification_settings
};
Restangular 为我完成了剩下的工作。我认为这不是最好的方法,但是我没有向服务器发布 1 个布尔值,而是发布 9。性能方面这不是一个大问题(对我来说)
我在使用 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);
});
}
我似乎无法开始工作的部分是 post 更新对象中的内容。我需要更新嵌套字段,但我不知道如何。
例如我想设置 notification_settings -> mention(key) -> platform_notification(field) = true(value)
我找到了遇到同样问题的人的答案:D
在更新的对象中我刚刚添加了整个通知设置
var updated = {
notification_settings: Global.user.notification_settings
};
Restangular 为我完成了剩下的工作。我认为这不是最好的方法,但是我没有向服务器发布 1 个布尔值,而是发布 9。性能方面这不是一个大问题(对我来说)