if 스테이트먼트(ng-click)
ng클릭에 조건을 넣는 방법이 있나요?여기에서는 폼 에러가 있는 경우는 폼을 송신하지 말아 주세요만, 해석 예외가 발생했습니다.
<input ng-click="{{if(profileForm.$valid) updateMyProfile()}}" name="submit" id="submit" value="Save" class="submit" type="submit">
ng-disabled를 사용하려고 했지만 폼이 전혀 전송되지 않아 검증 플러그인이 작동하지 않아 트리거되지 않습니다.
템플릿에 조건식을 넣지 마십시오.
컨트롤러에서 실행합니다.
템플릿:
<input ng-click="check(profileForm.$valid)" name="submit"
id="submit" value="Save" class="submit" type="submit">
컨트롤러:
$scope.check = function(value) {
if (value) {
updateMyProfile();
}
}
이것은 관련이 없을지도 모르지만, javascript이기 때문에 ng-click 스테이트먼트에서 제시한 3진법을 사용할 필요는 없습니다.또한 lazy evaluation("또는 die") 구문도 사용할 수 있어야 합니다.위의 예시는 다음과 같습니다.
<input ng-click="{{if(profileForm.$valid) updateMyProfile()}}" name="submit" id="submit" value="Save" class="submit" type="submit">
다음과 같이 됩니다.
<input ng-click="profileForm.$valid && updateMyProfile()" name="submit" id="submit" value="Save" class="submit" type="submit">
이 경우 프로파일이 유효하지 않으면 아무 일도 일어나지 않습니다.그렇지 않으면 update My Profile()이 호출됩니다.@falinsky가 제공하는 링크와 같습니다.
여기 내가 발견한 해킹이 너에게 효과가 있을 것 같아. 비록 예쁘지는 않지만, 개인적으로 그런 코드 라인을 사용하는 것은 창피할 거야.
ng-click="profileForm.$valid ? updateMyProfile() : alert('failed')"
지금, 당신은 '하지만 나는 그것이 경고하지 않기를 바란다.profileForm유효하지 않습니다.그게 바로 추악한 부분이죠저는 이 3진법의 다른 조항은 어떻게 넣어도 실행이 되지 않습니다.
그러나 제거되면 오류가 발생합니다.그러니까 그냥 무의미한 경고로 채워넣으면 되는 거죠.
내가 못생겼다고 했잖아이런 거 해도 잘 안 나와요.
첸쯔가 말한 대로, 그러나 각자의 것이 올바른 방법이다.
이렇게 해야 하는 경우 몇 가지 방법이 있습니다.
ng-disable로 버튼 비활성화
단연코 가장 쉬운 해결책입니다.
<input ng-disabled="!profileForm.$valid" ng-click="updateMyProfile()" ... >
ng-if로 버튼을 숨김(및 다른 것을 표시)
복잡한 마크업을 표시하거나 숨기면 됩니다.
<div ng-if="profileForm.$valid">
<input ng-click="updateMyProfile()" ... >
</div>
<div ng-if="!profileForm.$valid">
Sorry! We need all form fields properly filled out to continue.
</div>
(기억합니다.ng-else...)
둘 다 혼재
버튼이 있는 장소와 통신(더 이상 찾지 않음)하지만 클릭할 수 없는 이유를 설명합니다.
<input ng-disabled="!profileForm.$valid" ng-click="updateMyProfile()" ... >
<div ng-if="!profileForm.$valid">
Sorry! We need all form fields properly filled out to continue.
</div>
http://php.quicoto.com/inline-ifelse-statement-ngclick-angularjs/,에서는 다음과 같은 작업을 수행할 수 있습니다.
ng-click="variable = (condition=='X' ? 'Y' : 'X')"
ng-click 이벤트는 디세이블클래스를 사용하지 않고 조건부로 추가할 수 있습니다.
HTML:
<input ng-click="profileForm.$valid && updateMyProfile()" name="submit" id="submit" value="Save" class="submit" type="submit">
로 쓰다
<input type="submit" ng-click="profileForm.$valid==true?updateMyProfile():''" name="submit" value="Save" class="submit" id="submit">
태그 안에 조건을 넣을 수 있습니다.시험:
ng-class="{true:'active',false:'disable'}[list_status=='show']"
언급URL : https://stackoverflow.com/questions/21786492/if-statement-in-ng-click
'programing' 카테고리의 다른 글
| React.컴포넌트 대 리액트순수 컴포넌트 (0) | 2023.03.12 |
|---|---|
| 스프링 부트에서의 휴지 상태 필드 이름 지정 문제(이름 지정 전략) (0) | 2023.03.12 |
| 요소 또는 페이지 작성기 단축 코드 문제 (0) | 2023.03.12 |
| html5 플레이스 홀더를 동적으로 변환하는 방법 (0) | 2023.03.12 |
| Wordpress에서 사용자 지정 페이지를 만드는 방법 (0) | 2023.03.12 |