【问题标题】:How to append to a json object in angular js如何附加到角度js中的json对象
【发布时间】:2013-12-02 23:03:57
【问题描述】:

我有这样的对象$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 链接:http://plnkr.co/edit/gist:3510140

【问题讨论】:

    标签: javascript json angularjs append


    【解决方案1】:
      $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}
      ]);
    

    【讨论】:

    • 当我尝试这个时,我得到了以下错误TypeError: $scope.releases.concat is not a function
    • @Ambal Mani - $scope.releases 在您尝试调用 concat 时不是一个数组。 typeof($scope.releases) 的结果是什么?
    【解决方案2】:

    只需使用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);
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 对合并对象很有用,而不仅仅是以简单的方式合并数组。投票是因为有用,即使看起来不太好
      • 角合并现已弃用
      猜你喜欢
      • 1970-01-01
      • 2014-11-30
      • 2015-08-30
      • 2016-01-25
      • 2023-01-12
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      相关资源
      最近更新 更多