我正在 $watching 我的指令中的 $scope.randomObjects。如果函数不稳定,$watch 会抛出错误,我认为我在 getDesiredAmountOfObjects 中的柯里化函数是幂等的。我看不到的 ngResource -objects 是否发生了什么?我怎样才能解决这个问题?此外,desiredAmount 现在也是固定的。
这是我的控制器的片段:
..
var getDesiredAmountOfObjects = function (objects, randomObjects) {
return function (desiredAmount) {
var amount = desiredAmount || 1;
if (amount >= objects.length) {
return objects;
}
var randoms = randomObjects.slice(0, amount);
//logged objects are always the same in each $digest loop.
//including the $$hashKey
console.log(random);
return randoms;
};
};
//this will initialized only once in controller
ObjectRes.query(function(data) {
$scope.objects = data;
var randomObjects = [];
angular.extend(randomObjects, data);
randomObjects.sort(function () {
return 0.5 - Math.random();
});
$scope.randomObjects = getDesiredAmountOfObjects($scope.objects, randomObjects);
});
..