$$ hashkey出现在ng-repeat输出中

时间:2014-04-07 22:48:24

标签: angularjs angularjs-ng-repeat

我的ng-repeat指令中的一列输出$$ hashkey的值。

我不知道这是怎么开始发生的。我从一个简单的GET中获取数据,并在从成功回调中获取数据时检查该数据,显示将插入每个对象的$$ hashkey。我理解$$ hashkey是由angular使用的,但是在HTML视图输出之前从未发生过这种情况。

这是1.2.16

$$haskey being output to view

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);
}

2 个答案:

答案 0 :(得分:3)

似乎行不喜欢通过notSorted()运行。添加angular.copy()最终为我工作。

$scope.notSorted = function(obj){
    obj = angular.copy(obj);

    if (!obj) {
        return [];
    }

    return Object.keys(obj);
}

答案 1 :(得分:1)

在控制器中尝试此更改

$scope.workbook = data;
$scope.workbook = angular.fromJson(angular.toJson($scope.workbook));