将键和值添加到返回的作用域数组



我需要一些见解。我从ng-click="Info(c)"发送数据回控制器;然后,我查询数据库并返回控制器中该数组的所有值。

$scope.Info = function(user){   
    Data.get("Info/"+user.ID).then(function (data) {
        $scope.user = data.data;
        console.log(user);
    });
};

这将给我一个返回值,如

{
  "status": "success",
  "message": "Data selected from database",
  "data": [
    {
      "ID": 32,
      "CountyID": 1,
      "Name": "tests",
      "PhoneNo": "(555)535-5555",
      "Address1": " industrial park"
    }
  ]
}

我想把返回值插入到另一个有更多数据的表中。基本上在返回的数据数组的末尾添加city =' New York'和state ='NY',这样当我将它发送回具有两列的新表时,它将使用来自$scope数组的数据填充它们。

"data": [
  {
    "ID": 32,
    "CountyID": 1,
    "Name": "tests",
    "PhoneNo": "(555)535-5555",
    "Address1": " industrial park",
    "City": "New York",
    "State": "NY"
  }
]

现在,它只会从get查询返回的数据中插入它最初设置的列。

我试过跟踪,但它只是不会在用户数组的末尾添加两个额外的键和值。

angular.forEach($scope.user, function(obj){
    obj.push({'City' : 'New York'});
    obj.push({'State' : 'NY'});
});

user.push({"State":'NY'});

请让我知道我如何可以附加其他两个值,并将其发送到我的插入语句。谢谢你

如果我理解正确的话,您希望将城市和州键/值添加到当前用户文档的末尾。在$scope.user = data.data之后,您可以通过执行以下操作向对象添加属性:

$scope.user[0].city = "New York";
$scope.user[0].state = "NY";

如果您只想将city = 'New York' and state ='NY'添加到返回的数组中,您可以简单地这样做:

$scope.user.push({'city': 'New York'})
$scope.user.push({'state': 'NY'})
我可能误解了你的问题。

感谢您的所有信息。由于某种原因,无论我做什么,它都不包括我的键和值。我试着推了一下,但运气不好。然后我意识到我犯了一个错误,我在数据之外做了。Get函数,所以它甚至看不到我的更改。在我修复了我的功能并使用js91解决方案后,我让它工作了。

这是我最后做的

 $scope.newInfo = function(user){
     Data.get("Info/"+user.ID).then(function (data) {
         $scope.x = data.data;
         $scope.x[0].city = 'New York';
         $scope.x[0].state = 'NY';
         console.log($scope.x);
         Data.post('dealerAudit', $scope.x[0]).then(function(result){
         });
     });
 };

最新更新