AngularJS / JavaScript从另一个对象创建一个新对象

米奇

我有一个问题,我已经坚持了一段时间,正在寻找一些建议。

在我的控制器上,我对后端进行了一次Restangular调用以检索一些数据,如下所示

AngularJS控制器(使用Restangular)

Pages.controller('PageContentController', ['$scope', '$routeParams', '$location', 'Restangular', function($scope, $routeParams, $location, Restangular) {

    $scope.id = $routeParams.id;

    Restangular.one('pages', $scope.id).getList('content').then(function(response) {
        $scope.content = response;

        $scope.content = _.forEach($scope.content, function(content) {
            content[content.name] = content.content;
        });
        console.log($scope.content);
    });

}]);

现在,当我注销时,$scope.content我得到一个包含三个对象的数组,它们看起来与此相似

Array[3]
    0: Object
        banner_heading: "Services",
        id: 1

    1: Object 
        banner_text: "some banner text",
        id: 2

    2: Object
        banner_img: "services.jpg",
        id: 3

这些对象还有很多,但是我已经简化了这个问题,这些是我想从对象中获得的唯一属性。

banner_heading,banner_text和banner_img都是使用lodash forEach循环在上面的控制器中动态创建的所有属性。

现在继续我要完成的工作。我需要从看起来像这样的对象数组中创建一个对象

{
    "banner_heading": {
        "data": "Services",
        "id": 1 
    },
    "banner_text": {
        "data": "some banner text",
        "id": 2 
    },
    "banner_img": {
        "data": "services.jpg",
        "id": 3 
    }
}

基本上,我认为我需要能够像这样输出数据,{{ banner_heading }}但是我还需要能够维护ID以在服务器端更新数据。

我不确定如何完成此操作,我已经费了好几个小时才对它感到困惑,非常感谢您的帮助。

lucuma

我将提出一种不需要对原始数组数据进行分组或执行任何操作的解决方案:

假设我们有这个问题:

 $scope.content = [{ banner_heading: "Services", id: 1}, {banner_text:'some text', id:2}, {banner_img:'service.jpg', id:3}];

我们可以编写一个函数来提取所需的内容:

$scope.getData = function(n) {
   // question states lodash is being used
   var row = _.find($scope.content, function(item) {
       return n in item;
   });
   return row[n];
}

$scope.getId = function(n) {
  var row = _.find($scope.content, function(item) {
       return n in item;
   });
   return row.id;
}

并在视图上:

{{ getData('banner_text') }}

这是一个演示:http : //plnkr.co/edit/eHT42YQTaXWtmpbGwUZB?p=preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS 使用一个对象作为另一个对象的过滤器

来自分类Dev

AngularJS:如何使用对象的键来获取另一个JSON对象的值

来自分类Dev

如何使用AngularJS在另一个对象中添加对象的ID

来自分类Dev

angularjs-将通用属性从一个对象复制到另一个

来自分类Dev

Javascript / AngularJs-如何用另一个数组中的对象填充数组?

来自分类Dev

AngularJS显示一个json对象

来自分类Dev

AngularJS显示一个json对象

来自分类Dev

AngularJS重复一个对象

来自分类Dev

在angularJS中,如何浏览一个对象中的变量并将它们设置为等于另一个对象的相同名称的变量?

来自分类Dev

如何将 $scope 对象值添加到另一个 $scope 对象?(AngularJS)

来自分类Dev

如何在angularjs中将对象数据从一个控制器传递到另一个控制器

来自分类Dev

angularjs将对象从ng-repeat获取到另一个页面中的控制器

来自分类Dev

MVC 视图按钮单击事件,将 AngularJs 对象传递给另一个 MVC 控制器

来自分类Dev

AngularJS从另一个文件调用函数

来自分类Dev

AngularJS:如何从工厂调用另一个函数

来自分类Dev

另一个AngularJS错误:ngRepeat:dupes

来自分类Dev

AngularJS:如何从工厂调用另一个函数

来自分类Dev

Angularjs ngClick更改另一个视图

来自分类Dev

AngularJS-单击显示另一个div

来自分类Dev

使用AngularJS访问另一个函数的变量

来自分类Dev

angularjs在服务中包含另一个模块

来自分类Dev

AngularJS替换成另一个

来自分类Dev

AngularJs从另一个指令中调用Controller

来自分类Dev

AngularJS 函数到另一个文件

来自分类Dev

从JavaScript中的另一个对象创建对象

来自分类Dev

如何创建属性指令以在 AngularJS 的元素中插入另一个属性指令

来自分类Dev

匹配AngularJS UI路由器中的一个或另一个单词

来自分类Dev

在angularjs中将一个div的高度设置为另一个div

来自分类Dev

AngularJS:如何将一个指令编译为另一个指令?

Related 相关文章

  1. 1

    AngularJS 使用一个对象作为另一个对象的过滤器

  2. 2

    AngularJS:如何使用对象的键来获取另一个JSON对象的值

  3. 3

    如何使用AngularJS在另一个对象中添加对象的ID

  4. 4

    angularjs-将通用属性从一个对象复制到另一个

  5. 5

    Javascript / AngularJs-如何用另一个数组中的对象填充数组?

  6. 6

    AngularJS显示一个json对象

  7. 7

    AngularJS显示一个json对象

  8. 8

    AngularJS重复一个对象

  9. 9

    在angularJS中,如何浏览一个对象中的变量并将它们设置为等于另一个对象的相同名称的变量?

  10. 10

    如何将 $scope 对象值添加到另一个 $scope 对象?(AngularJS)

  11. 11

    如何在angularjs中将对象数据从一个控制器传递到另一个控制器

  12. 12

    angularjs将对象从ng-repeat获取到另一个页面中的控制器

  13. 13

    MVC 视图按钮单击事件,将 AngularJs 对象传递给另一个 MVC 控制器

  14. 14

    AngularJS从另一个文件调用函数

  15. 15

    AngularJS:如何从工厂调用另一个函数

  16. 16

    另一个AngularJS错误:ngRepeat:dupes

  17. 17

    AngularJS:如何从工厂调用另一个函数

  18. 18

    Angularjs ngClick更改另一个视图

  19. 19

    AngularJS-单击显示另一个div

  20. 20

    使用AngularJS访问另一个函数的变量

  21. 21

    angularjs在服务中包含另一个模块

  22. 22

    AngularJS替换成另一个

  23. 23

    AngularJs从另一个指令中调用Controller

  24. 24

    AngularJS 函数到另一个文件

  25. 25

    从JavaScript中的另一个对象创建对象

  26. 26

    如何创建属性指令以在 AngularJS 的元素中插入另一个属性指令

  27. 27

    匹配AngularJS UI路由器中的一个或另一个单词

  28. 28

    在angularjs中将一个div的高度设置为另一个div

  29. 29

    AngularJS:如何将一个指令编译为另一个指令?

热门标签

归档