【发布时间】:2014-04-09 03:55:32
【问题描述】:
我的 ng-repeat 指令中的一列输出 $$hashkey 的值。
我不知道这是怎么开始的。我从一个简单的 GET 获取数据并检查从成功回调中获取的数据,显示 $$hashkey 被插入到每个对象中。我知道 $$hashkey 被 angular 使用,但就 HTML 视图输出而言,这从未发生过。
这是 1.2.16
HTTP GET:
$http.get('index.php/getWorkbook/'+$routeParams.workbook).success(function(data) {
console.log(data); // Has $$hashkey inserted
$scope.workbook = data;
});
HTML:
<tr ng-repeat='row in workbook'>
<td ng-repeat="key in notSorted(row)" ng-init="value = row[key]">
<input type="text" ng-model="value" ng-blur="edit(value, key, row)" />
</td>
</tr>
这里是控制器功能。
$scope.notSorted = function(obj){
if (!obj) {
return [];
}
return Object.keys(obj);
}
【问题讨论】:
-
你最近升级了 Angular 吗?改变什么?您是否一直使用 Object.keys 来获取属性名称?
-
我使用的是 1.2.16 CDN。我不确定发生了什么。我使用 Object 键来防止 Angular 对我的列进行排序。
-
另一种解决方案似乎是在 ngRepeat 中使用 track - stackoverflow.com/a/23656919/1148107
标签: angularjs angularjs-ng-repeat