Angularjs 重新格式化PUT不保存整个有效负载

Angularjs 重新格式化PUT不保存整个有效负载,angularjs,restangular,Angularjs,Restangular,我正在尝试使用Restanglar发出PUT请求。我不太熟悉棱角分明的人,也不太会说话 下面是有效的代码片段。 这不管用。 不知道我做错了什么 $scope.singular最初获取it数据,如下所示restanglar.one('roles',$routeParams.id).getList().$object 基本上,我的想法是从表单更新这个模型,并且在slug与id匹配时用相关数据预填充表单。如果需要,我可以更改连接方式。因此,请随意建议最佳实践 编辑2 这个官方演示对解决这个问题非常有帮

我正在尝试使用Restanglar发出PUT请求。我不太熟悉棱角分明的人,也不太会说话

下面是有效的代码片段。 这不管用。 不知道我做错了什么

$scope.singular
最初获取it数据,如下所示
restanglar.one('roles',$routeParams.id).getList().$object

基本上,我的想法是从表单更新这个模型,并且在slug与id匹配时用相关数据预填充表单。如果需要,我可以更改连接方式。因此,请随意建议最佳实践

编辑2
这个官方演示对解决这个问题非常有帮助。

当Restangular返回resource array\object时,它会在对象上添加一些方法,例如
put
,该方法已连接到服务器,用于在put调用时更新对象


在第二种情况下,您分配的是
item=$scope.singular
$scope。singular
可能不是重新启动的对象,因此不起作用。

此官方演示对解决此问题非常有帮助

我已经更新了关于如何设置
$scope.singular
的问题。这显然是数据类型不匹配。此演示已过时。lib的作者已经将src for restanglar添加到了演示中,而不是链接到当前稳定的源代码。
$scope.itemToUpdate = Restangular.all($scope.slug);
$scope.itemToUpdate.getList().then(function(items){
    var item = items.one($routeParams.id);
    item.name = $scope.singular.name;
    item.description = $scope.singular.description;
    item.put();
});
    $scope.itemToUpdate = Restangular.all($scope.slug);
    $scope.itemToUpdate.getList().then(function(items){
        var item = items.one($routeParams.id);
        item = $scope.singular;
        item.put();
    });