AngularJS 템플릿에서 범위 변수가 정의되지 않았는지 확인하는 방법은 무엇입니까?
범위 변수가 정의되지 않았 는지 확인하는 방법은 무엇입니까?
작동하지 않습니다.
<p ng-show="foo == undefined">Show this if $scope.foo == undefined</p>
이를 수행하는 가장 깨끗한 방법은 다음과 같습니다.
<p ng-show="{{foo === undefined}}">Show this if $scope.foo === undefined</p>
컨트롤러에서 도우미 기능을 만들 필요가 없습니다!
사용 undefined
결정을 내려야하는 것은 일반적으로 자바 스크립트 나쁜 디자인의 표시이다. 다른 작업을 고려할 수도 있습니다.
그러나 귀하의 질문에 대답하려면 : 그렇게하는 가장 좋은 방법은 도우미 기능을 추가하는 것입니다.
$scope.isUndefined = function (thing) {
return (typeof thing === "undefined");
}
및 템플릿에서
<div ng-show="isUndefined(foo)"></div>
수정 됨 :
HTML
<p ng-show="getFooUndef(foo)">Show this if $scope.foo === undefined</p>
JS
$scope.foo = undefined;
$scope.getFooUndef = function(foo){
return ( typeof foo === 'undefined' );
}
바이올린 : http://jsfiddle.net/oakley349/vtcff0w5/1/
이 부울 변수foo
가 아니면 작동합니다 (즉, 해당 변수에 데이터가있을 때이를 표시하려는 경우).
<p ng-show="!foo">Show this if $scope.foo is undefined</p>
그리고 그 반대 :
<p ng-show="foo">Show this if $scope.foo is defined</p>
Angular 동작이 변경되었으므로 새 답변 게시. 다음 코드가 작동하는 것처럼 undefined와의 동등성을 확인하는 것은 이제 최소 1.5부터 각도 표현식에서 작동합니다.
ng-if="foo !== undefined"
이 ng-if가 true로 평가되면 해당 범위에서 백분율 속성을 삭제하고 $ digest를 호출하면 예상대로 문서에서 요소가 제거됩니다.
Angular 1을 사용하는 경우 Angular의 기본 제공 방법을 사용하는 것이 좋습니다.
angular.isDefined (값);
참조 : https://docs.angularjs.org/api/ng/function/angular.isDefined
이중 파이프 연산을 사용하여 after 문에서 값이 정의되지 않았는지 확인할 수 있습니다.
<div ng-show="foo || false">
Show this if foo is defined!
</div>
<div ng-show="boo || true">
Show this if boo is undefined!
</div>
이중 파이프에 대한 기술적 인 설명은 https://stackoverflow.com/a/34707750/6225126 링크를 참조하십시오.
@impulsgraw가 쓴 것처럼. 파이프 뒤에 undefined를 확인해야합니다.
<div ng-show="foo || undefined">
Show this if foo is defined!
</div>
<div ng-show="boo || !undefined">
Show this if boo is undefined!
</div>
https://jsfiddle.net/mjfz2q9h/11/
<p ng-show="angular.isUndefined(foo)">Show this if $scope.foo === undefined</p>
'programing' 카테고리의 다른 글
ASP.NET ID에 클레임을 추가하는 방법 (0) | 2021.01.19 |
---|---|
"TryParse"방식으로 json 역 직렬화 (0) | 2021.01.19 |
이 Crashlytics 컴파일 경고의 원인은 무엇입니까? (0) | 2021.01.19 |
docker-compose 명령으로 COMPOSE_HTTP_TIMEOUT의 기본값을 재정의하는 방법 (0) | 2021.01.19 |
기능 모듈 계층 구조 내에서 .forRoot ()를 사용하는 방법 (0) | 2021.01.19 |