我在以下方式使用角度控制器内的过滤器,根据我的要求,只应过滤$scope.codeSubFiltered
而不是$scope.codeSub
过滤后,$scope.codeSub
和$scope.codeSubFiltered
的大小/长度都会减少,数据会被过滤掉。
请找到以下代码:
$http.get("http://hackerearth.0x10.info/api/ctz_coders?type=json&query=list_submissions&page=1")
.then(function(response) {
$scope.codeSub = response.data;
});
$scope.codeSubFiltered=$scope.codeSub;
$scope.$watch('search', function(val)
{
$scope.codeSubFiltered.websites= $filter('filter')($scope.codeSubFiltered.websites, {language: val});
alert(Object.keys($scope.codeSubFiltered.websites).length);
alert(Object.keys($scope.codeSub.websites).length);
}
答案 0 :(得分:1)
两个变量的变化原因是它们都引用同一个对象。
而不是:$scope.codeSubFiltered = $scope.codeSub;
执行:
$scope.codeSubFiltered = angular.copy($scope.codeSub);