我有一个selectize下拉
<selectize config="mySelectizeConfig" options="getAvailableObjects(id)""></selectize>
当我返回阵列时,在控制器上工作正常
$scope.getAvailableObjects=function(id) {
return $scope.available_objects[id]
}
但是当我试图过滤数组
时$scope.getAvailableObjects=function(id) {
var result = [];
result = $scope.available_objects[id].filter(function(object) {
return object.is_active;
});
return result;
}
给我一个'错误:10 $ digest((迭代'我该如何故障排除?
当我尝试过滤视图上的数组时,我会遇到相同的错误。
options="available_objects[id] | filter: {'is_active':true}"
这是因为,Array.prototype.filter
方法以及| filter : {'is_active':true}
将始终返回 new array,因此 $> $ digest((迭代到达,尽管返回的数组看起来平等。您可以通过缓存将其修复:
var cache = {};
$scope.getAvailableObjects = function(id) {
return cache[id] = cache[id] || $scope.available_objects[id].filter(function(object) {
return object.is_active;
});
}
如果要更改$scope.available_objects
,您可以重置cache = {}
;