반응형
angular.js 필터의 역극성
어떤 조건이 충족될 경우 true를 반환하는 필터 메서드를 지정하면 HTML에서 그 반대로 호출할 수 있습니다. 예를 들어 다음과 같습니다.
"item in items | filter:!AllDay"
대신
"item in items | filter:AllDay"
아니면 2개의 필터 방식(하나는 false, 다른 하나는 true)을 유지해야 합니까?
ENDOH에서 알 수 있듯이(이 SO 질문은 기술적으로 중복됩니다), 다음과 같이 필터 문자열 앞에 '!'를 추가하여 필터를 비활성화할 수 있습니다.
filter:'!'+myFilter
'!'는 따옴표로 둘러싸여 있습니다.이 문서에는 그다지 명확하지 않고, 예를 들면 도움이 될 것입니다.
섀커의 답변은 angular 1.0.7에서는 동작하지 않았습니다.따라서 다음 방법이 있습니다.
// You can register this in your AppCtrl if you like, otherwise just use $scope.
$rootScope.not = function(func) {
return function (item) {
return !func(item);
}
};
그러면 이렇게 할 수 있습니다.
filter:not(myFilterMethod)
filter:({day: '!'+AllDay.day})
또 다른 옵션은 새로운 네고시에이션필터를 생성하여 파이프 접속하는 것입니다.
.filter('not', function() {
return function(input) {
return !input;
}
})
"item in items | filter:AllDay | filter:not"
언급URL : https://stackoverflow.com/questions/13464809/reverse-polarity-of-an-angular-js-filter
반응형
'programing' 카테고리의 다른 글
오라클 시퀀스의 현재 값을 증가시키지 않고 취득하려면 어떻게 해야 합니까? (0) | 2023.04.02 |
---|---|
JSON.string 딥 오브젝트 (0) | 2023.04.02 |
AJAX를 통해 콘텐츠를 로드한 후 jQuery가 작동하지 않음 (0) | 2023.04.02 |
Wordpress 관리 메뉴 항목을 수동으로 강조 표시합니다. (0) | 2023.04.02 |
mongodb 컬렉션에서 최대한의 가치를 얻는 방법 (0) | 2023.04.02 |