【发布时间】:2016-06-29 05:49:56
【问题描述】:
我正在学习 Angular,我正在做一些示例来理解 angular.copy。我想要做的是创建一个带有服务的对象,然后创建一个包含服务对象的某些元素的新对象。
完整代码示例:HERE
这是服务的“数据”对象:
return {
name: "hello",
toys: ["asd", "lol"],
food: ["apple"],
phones: ["samsung", "lg", "iphone"]
};
在控制器中,我复制对象,创建一个新对象,然后将旧对象的一些元素复制到其中:
$scope.oldData = angular.copy(Data);
$scope.newData = {};
$scope.newData.name = oldData.name;
$scope.newData.toys = oldData.toys;
$scope.newData.phones = oldData.phones;
我希望用户只显示三个元素:姓名、玩具数组和电话数组:
<h1>{{newData.name}}</h1>
<h1>Toys:</h1>
<ul>
<li ng-repeat="toy in newData.toys">{{ toy }}</li>
</ul>
<h1>Phones:</h1>
<ul>
<li ng-repeat="phone in newData.phones">{{ phone }}</li>
</ul>
为什么它不起作用?我做错了什么?
【问题讨论】:
-
看文档,需要像这样指定源和目标 angular.copy(source, [destination]);所以我会假设像这样 angular.copy(Data, $scope.oldData);
标签: javascript arrays angularjs angularjs-ng-repeat angularjs-factory