将键和值添加到返回的范围数组

时间:2016-08-21 16:05:00

标签: angularjs arrays

我需要一些见解。我通过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'});

请告诉我如何附加其他两个值并将其发送到我的Insert语句。谢谢

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

如果您只想将city = 'New York' and state ='NY'添加到返回的数组中,则可以执行以下操作:

$scope.user.push({'city': 'New York'})
$scope.user.push({'state': 'NY'})

我可能误解了你的问题。 希望它有所帮助。

答案 2 :(得分:0)

感谢您提供所有信息。出于某种原因,我所做的一切都不包括我的关键和价值观。我试过推,但没有运气。然后我意识到我在Data.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){

         });
     });
 };