如何在角度js中附加到json对象

时间:2013-11-19 11:49:57

标签: javascript json angularjs append

我有一个像$scope.releases = [{name : "All Stage",active:true}];

这样的对象

我需要向其添加更多数据

[
  {name : "Development",active:false},
  {name : "Production",active:false},
  {name : "Staging",active:false}
]

所以最终的数据应该是这样的

[
   {name : "All Stage",active:true}
   {name : "Development",active:false},
   {name : "Production",active:false},
   {name : "Staging",active:false}
]

我尝试了以下代码。但它没有附加。

app.controller('MainCtrl', function($scope) {
  // I am having an object like this
  $scope.releases = [{name : "All Stage",active:true}];
  // I need to appned some more data to it
  $scope.releases = [
    {name : "Development",active:false},
    {name : "Production",active:false},
    {name : "Staging",active:false}
  ]
});

Pluker Link:http://plnkr.co/edit/gist:3510140

3 个答案:

答案 0 :(得分:18)

  $scope.releases = [{name : "All Stage",active:true}];
  // Concatenate the new array onto the original
  $scope.releases = $scope.releases.concat([
    {name : "Development",active:false},
    {name : "Production",active:false},
    {name : "Staging",active:false}
  ]);

答案 1 :(得分:5)

只需使用Array concat method

即可
$scope.release = [{name : "All Stage",active:true}];
$scope.releases = [
    {name : "Development",active:false},
    {name : "Production",active:false},
    {name : "Staging",active:false}
];
$scope.releases = $scope.releases.concat($scope.release);

答案 2 :(得分:1)

用户angular.extend()来扩展对象 angular extend

你也可以使用angular.merge()angular merge