$ resource instance的$ save()擦除属性

时间:2015-06-30 05:55:32

标签: angularjs

我在控制器中有以下代码:

$scope.chart = $resource('/api/chart/01234').get();
// { name: 'Foobar', id: '01234' }

$scope.send = function() {
    $scope.chart.$save();
}

但在用户触发send()后,$scope.chart中剩余的唯一属性是来自$resource的属性(例如$promise$save,{{1} }等等......,其他的都没了(没有toJSONname)。

2 个答案:

答案 0 :(得分:0)

我仍然不明白实例$save()擦除实例的原因,但是使用了课程' save()有效:

var Chart = $resource('/api/chart/01234');
$scope.chart = Chart.get();

$scope.send = function() {
    Chart.save({}, $scope.chart);
}

答案 1 :(得分:0)

可能是这样的:

  

重要的是要意识到调用$ resource对象方法会立即返回一个空引用(对象或数组,具体取决于isArray)。从服务器返回数据后,将使用实际数据填充现有引用。

来自Returns部分下的angular docs