여러 표현식에서 ng-click을 사용하는 방법은 무엇입니까?
이 질문에 이미 답변이 있습니다.
ng-click을 사용하여 여러 표현을 수행하고 싶습니다. 모델에 값을 설정하고 다음 $scope
과 같이 에서 메서드를 호출하고 싶습니다.
<a ng-click="navigation.book = book && bookSvc.showBook(book)" href="#{{book.id}}">{{book.title}}</a>
&&
내가하고 싶은 두 가지 표정 을 분리하는 곳 . 컨트롤러에서 두 가지 작업을 모두 수행하는 메서드를 추가 할 수 있다는 것을 알고 있습니다. 그렇게해야합니까, 아니면 내부에서 직접 두 가지 표현을 수행 할 수있는 방법이 ng-click
있습니까?
단순히 ';'사용 '&&'대신 표현식을 분리하면 효과가 있습니다.
<a ng-click="navigation.book = book; bookSvc.showBook(book)" href="#{{book.id}}">{{book.title}}</a>
에 표현식 만 쓸 수 있습니다 ng-click
.
ngClick 지시문을 사용하면 요소를 클릭 할 때 사용자 정의 동작을 지정할 수 있습니다.
그러나 다음과 같이 작성할 수 있습니다.
<a ng-click="( (navigation.book = book) && bookSvc.showBook(book))" href="#{{book.id}}">{{book.title}}</a>
이 경우 콘텐츠를 navigation.book
가져 book
옵니다.
데모 Fiddle
참고
여기에 호출 할 몇 가지 옵션이 있습니다. navigation.book = book
다음과 같이 작성하면 어떻게 되나요?
ng-click="( bookSvc.showBook(book) && (navigation.book = book))"
이 경우에는 (것 같아 bookSvc
서비스 없음) bookSvc.showBook(book)
를 반환 아무것도 또는 false
, (가) navigation.book = book
실행되지 않습니다.
데모 2 Fiddle
그러나 bookSvc.showBook(book)
반환 true
하면 navigation.book = book
호출됩니다.
데모 3 Fiddle
모든 로직을 함수에 넣고 ng-click을 할당하여 코드를 더 간단하고 우아하게 만드는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/19914344/how-to-use-ng-click-with-multiple-expressions
'Program Tip' 카테고리의 다른 글
Otto 이벤트 버스를 사용하여 서비스에서 활동으로 이벤트를 보내는 방법은 무엇입니까? (0) | 2020.12.10 |
---|---|
사용자 이름과 암호를 제공하지 않고 공유 폴더에 액세스하는 방법 (0) | 2020.12.10 |
Intent.VIEW_ACTION이있는 Android 설치 APK가 파일 공급자와 작동하지 않음 (0) | 2020.12.10 |
PHP에서 try-catch의 성능 (0) | 2020.12.10 |
사용자 정의 유형으로 std :: set, 중복이 없는지 확인하는 방법 (0) | 2020.12.10 |