programing

Angular에서 스코프 변수가 정의되지 않았는지 확인하는 방법JS 템플릿?

cafebook 2023. 2. 27. 22:20
반응형

Angular에서 스코프 변수가 정의되지 않았는지 확인하는 방법JS 템플릿?

범위 변수가 정의되어 있지 않은지 확인하는 방법

이것은 동작하지 않습니다.

<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결정을 내리는 것은 보통 Javascript의 디자인이 나쁘다는 표시입니다.다른 일을 하는 것을 고려해보세요.

단, 질문에 대한 답변은 다음과 같이 하십시오.헬퍼 기능을 추가하는 것이 가장 좋은 방법이라고 생각합니다.

$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/

각도 동작이 변경되어 새로운 답변을 게시합니다.정의되지 않은 와의 동일성을 체크하면 다음 코드가 작동하므로 1.5 이상의 각도 식에서 작동합니다.

ng-if="foo !== undefined"

이 ng-if가 true로 평가되면 적절한 범위에서 퍼센트 속성을 삭제하고 $digest를 호출하면 문서에서 요소가 삭제됩니다.

한다면foo부울 변수가 아닌 경우 이 기능이 작동합니다(즉, 변수에 데이터가 있는 경우 이 기능을 표시해야 합니다).

<p ng-show="!foo">Show this if $scope.foo is undefined</p>

그리고 vise-versa:

<p ng-show="foo">Show this if $scope.foo is defined</p>

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>

JSFiddle에서 데모를 확인합니다.

이중 파이프에 대한 기술적인 설명은 다음 링크를 참조하십시오.https://stackoverflow.com/a/34707750/6225126

@impulsgraw가 썼듯이.파이프 뒤에 정의되어 있지 않은지 확인해야 합니다.

<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/

angular.isUndefined(값);

https://docs.angularjs.org/api/ng/function/angular.isUndefined

<p ng-show="angular.isUndefined(foo)">Show this if $scope.foo === undefined</p>

언급URL : https://stackoverflow.com/questions/27042706/how-to-check-if-a-scope-variable-is-undefined-in-angularjs-template

반응형