반응형
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
반응형
'programing' 카테고리의 다른 글
JSON.parse vs. eval() (0) | 2023.02.28 |
---|---|
바이트 배열을 JSON 형식으로 변환합니다. (0) | 2023.02.23 |
jQuery ajax 성공 콜백 함수 정의 (0) | 2023.02.23 |
SQL을 사용하여 날짜 범위 생성 (0) | 2023.02.23 |
Python json.loads의 제어 문자가 잘못되었습니다. (0) | 2023.02.23 |