我正在开发一个通过Angular Resource获取的AngularJs应用程序。
我收到的数据数据很好,并通过ng-repeat
查看表格视图中的记录,一切正常。
问题是,当我在服务中使用underscore.js
处理我的数据数组时,ng-repeat
会得到一个空数组。尽管如此,如果我在处理后记录相同的范围变量,我会得到预期的结果。
我的角色服务代码:
app.factory("DataProcessor", function() {
return {
ToAssocArray: function(input) {
retData = [];
_.each(input.data, function(elmnt, i, list) {
retData[elmnt.id] = elmnt;
});
return retData;
}
};
});
我的控制器的代码段:
app.controller("main_ctrl", function($scope, $timeout, Data, DataProcessor) {
...
$scope.serverData = [];
$scope.myData = [];
$scope.myDataProcessed = [];
$scope.serverData = Data.query({});
$scope.serverData.$promise.then(
function onSuccess(result) {
$scope.myData = result; // here I receive the data just fine.
$scope.myDataProcessed = DataProcessor.ToAssocArray(result); // my data processing
console.log($scope.myDataProcessed); // processed data gets logged flawlessly
},
);
当我输入时,在我的html中:
{{myDataProcessed}}
我明白了:
[]