programing

"ng-disabled"에 여러 조건을 추가하려면 어떻게 해야 합니까?

magicmemo 2023. 3. 7. 21:14
반응형

"ng-disabled"에 여러 조건을 추가하려면 어떻게 해야 합니까?

버튼을 활성화하기 전에 두 가지 조건이 모두 충족되는지 확인해야 합니다.

다음은 예를 제시하겠습니다.

<button type="submit" ng-disabled="frmUser.pw2.$error.pwMatch" class="btn btn-primary" ng-click="ChangePassword()">Change</button>

이 예에서는 다음 중 하나의 조건만 포함되어 있습니다.ng-disabled스코프 변수 등 다른 변수를 추가하려면 어떻게 해야 합니까?

당신은 할 수 있을 것이다&&조건:

ng-disabled="condition1 && condition2"

Wanny가 옳아요.&&연산자는 HTML에서 작동하지 않습니다. Angular에서는 이중 파이프를 사용해야 합니다.||)를 참조해 주세요.

원래 질문의 표현에 약간의 gotcha가 있을 수 있습니다.

버튼을 활성화하기 전에 두 조건이 모두 참인지 확인해야 합니다.

ng-disabled 디렉티브는 버튼을 디세블로 하는 조건을 평가하는 것이지만, 첫 번째 질문은 이네이블로 하는 조건을 말하는 것입니다.ng-disabled 표현이 "truthy"가 아닌 경우 이 기능이 활성화됩니다.

따라서 첫 번째 고려사항은 질문의 논리를 ng-disabled의 논리요건에 가깝게 바꾸는 방법입니다.버튼을 활성화하기 위해 두 조건이 참임을 확인하는 논리적인 역순으로, 어느 한 조건이 거짓일 경우 버튼을 비활성화해야 합니다.

따라서 원래 질문의 경우 ng-disabled의 의사 표현은 "condition1이 false 또는 condition2가 false인 경우 버튼을 비활성화합니다"입니다.Angular(https://docs.angularjs.org/guide/expression),에서 요구하는 Javascript와 같은 코드 스니펫으로 번역하면 다음과 같이 됩니다.

!condition1 || !condition2

줌라 말이 맞아요!

조건을 올바른 우선순위로 래핑하십시오.

ng-disabled="((!product.img) || (!product.name))"

실제로 ng-disabled 디렉티브는 논리연산자와 함께 동작합니다.& "는 한 가지 조건만 평가합니다.

http://jsbin.com/kuqilejesi/2/edit?html,js,output

이런 걸 시도해 보세요.

<button class="button" ng-disabled="(!data.var1 && !data.var2) ? false : true">
</button>

난 괜찮아.

버튼을 비활성화하려면 두 변수 모두 false여야 합니다.

<button class="button" ng-disabled="(!data.var1 && !data.var2) ? false : true">
</button>

이 방법은 나에게 효과가 있었다.

ng-disabled=(사용자).Role.ID!= 1) & & (사용자).Role.ID!= 2)"

언급URL : https://stackoverflow.com/questions/20555858/how-do-i-add-multiple-conditions-to-ng-disabled

반응형