Program Tip

여러 표현식에서 ng-click을 사용하는 방법은 무엇입니까?

programtip 2020. 12. 10. 21:04
반응형

여러 표현식에서 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

반응형