각도 JS $watch vs $on
부모 스코프에 상태 변화가 있을 때마다 명령어 내의 함수를 실행하고 싶다.
이를 실현하는 확실한 방법은 이벤트 브로드캐스트($broadcast)와 청취자($on)를 사용하는 것입니다.
$watch를 사용하는 것이 이벤트 방송의 대체 방법인지 궁금합니다.그렇다면, 두 가지를 어떻게 비교할 수 있을까요?
제가 알기로는 관찰해야 할 표현은 $digest 사이클마다 평가됩니다.그래서 이벤트가 보는 것보다 더 효율적일까요?
그$watch
함수는 스코프의 변수를 감시하는 데 사용됩니다.스코프 상속을 사용하면 상위 스코프 변수도 감시할 수 있기 때문에 이것이 사용 사례에 가장 적합한 방법입니다.네 말대로$on
이벤트를 감시하기 위해 사용됩니다.$broadcast
아이 스코프 또는$emit
부모 스코프에 접속합니다.이를 통해 훨씬 더 많은 제어가 가능하지만 모니터링하지 않고 리스너에게 알리지 않는 지점에서 스코프 변수에 대한 업데이트를 얻을 수 있기 때문에 코딩 중에 더 많은 오류가 발생할 수 있습니다.
범위 변수를 상속하지 않아도 이벤트를 사용할 수 있습니다.단, 대규모 범위를 오염시키지 않도록 주의해 주십시오.서비스 투입 여부를 즉시 확인할 수 있기 때문에 서비스를 사용할 수도 있습니다.
디렉티브는 그 범위(또는 그 범위로부터 상속)를 취득하기 때문에, 다음과 같이 말할 수 있습니다.$watch
훨씬 깔끔한 선택입니다.
디렉티브에 독립 스코프를 설정하는 경우는, Atribute로서 인수를 건네거나,$observe
그들.
언급URL : https://stackoverflow.com/questions/23561302/angular-js-watch-vs-on
'programing' 카테고리의 다른 글
테이블의 행을 angularjs로 정렬 또는 재배치(드래그 앤 드롭) (0) | 2023.03.16 |
---|---|
WooCommerce:샵에 판매 중인 제품만 표시 (0) | 2023.03.16 |
.webp 파일에 대한 액세스를 차단하는 IIS 서버 (0) | 2023.03.16 |
대응: 상위 컴포넌트의 하위 매핑 (0) | 2023.03.14 |
Angular-Chart.js 색상 변경 방법 (0) | 2023.03.14 |