programing

angular 템플릿의 배열 값을 확인하시겠습니까?

sourcejob 2023. 2. 23. 22:46
반응형

angular 템플릿의 배열 값을 확인하시겠습니까?

angular 템플릿의 배열에 값이 있는지 확인할 수 있는 방법이 있습니까?나는 다음과 같은 것을 기대하고 있다.

<div ng-class="{'myClass':1 in [1,2,5]}">Yay</div>

어레이에 1이 있는 경우 myClass가 적용됩니다.

이게 가능합니까?

참고로 Angularjs에는 정확히 어떤 템플링 엔진이 사용됩니까?그 서류는 어디서 찾을 수 있나요?검색하려고 할 때마다(공식 문서도), 지시문이나 데이터 바인딩에 대한 문서만 표시되는 것 같습니다.

사용할 수 있습니다.indexOf()값이 배열에 있는지 여부를 테스트한 후 내부로 사용합니다.ngClass(조건부로 "newclass"를 추가합니다)

<div ng-class="{'newclass':([1,2,5].indexOf(2) > -1)}">Yay</div>

또는 스코프의 어레이에 대해 테스트하는 경우가 많습니다.

<div ng-class="{'newclass':(tarray.indexOf(1) > -1)}">Yay</div>

예를 들어, 다음과 같이 선언했다고 가정합니다.tarray컨트롤러:

$scope.tarray=[1,2,5];

데모

템플릿 엔진까지는 앵귤러에 내장되어 있습니다.그래서 따로 검색할 것이 없습니다.여기에서는 톱 레벨의 템플릿 문서와 템플릿(예를 들어 첫 번째 템플릿은 데이터 바인딩)에 관한 튜토리얼을 다루고 있습니다.

필터를 생성하여 이를 확인할 수 있습니다.예를 들어 다음과 같습니다.

app.filter('inArray', function() {
    return function(array, value) {
        return array.indexOf(value) !== -1;
    };
});

그런 다음 템플릿에서 다음을 사용하여 이 기능을 사용할 수 있습니다.

<div ng-class="{'newclass': tarray | inArray : 1}">Yay</div>

이 방법의 장점은 템플릿을 보다 쉽게 읽을 수 있다는 것입니다.

이것을 시험해 보세요.

ng-class="{'myClass':  !!~[1,2,5].indexOf(1)}"

값이 배열에 없으면 0이 됩니다.따라서 false가 됩니다.

언급URL : https://stackoverflow.com/questions/21123636/check-if-value-in-array-in-angular-template

반응형