angular.js - $watch监视下拉框,网页刷新时会自动执行一次,如何禁止自动执行?
漂亮男人
漂亮男人 2017-05-15 17:04:22
0
3
903

详细描述:
$watch监视一个下拉框,期望情况是只有当用户点击下拉框中的选项时,前端才请求后端更新数据。

目前的问题是:
当网页加载时,下拉框第一次出现,$watch会自动执行一次,ng的机制认为加载就是一次用户的点击。

希望了解如何禁止这种情况的$watch自动执行

漂亮男人
漂亮男人

모든 응답(3)
迷茫

초대해주셔서 감사합니다.

우선, 표현의 작은 흠을 수정할 수 있을까요?

"$watch는 드롭다운 상자를 모니터링합니다"라고 말씀하셨는데, ng는 양방향 데이터 바인딩을 구현하는 프레임워크이고 $watch는 여기서 불가능합니다. DOM 요소 드롭다운 상자를 모니터링합니다. 적절한 표현은 "드롭다운 상자의 선택된 값을 가리키는 $watch에서 모니터링하는 표현"으로 작성하는 것이 더 정확할 수 있습니다(중국어를 잘하는 친구는 더욱 최적화할 수 있습니다). ng是一个实现数据双向绑定的,具有声明式API的框架,这里的$watch是不可能去监视一个DOM元素下拉框的。合适的用词可以写作"$watch监视的一个指向下拉框所选值的表达式"更为准确(语文好的朋友可以再优化)。

在提问时,我们往往过分关注自己想知道问题的答案,而忽略表达方式,结果经常无疾而终,这类题目在sf中非常常见,提问人描述含糊其辞,令人无从做答。其实题主的描述还能看懂,只是有感而发多说几句。

言归正传,既然不想对数据初始化的那一次$watch

질문을 할 때, 우리가 알고 싶은 답에만 너무 집중하고 표현 방식을 무시하는 경향이 있어서, SF에서는 이런 유형의 질문이 매우 흔합니다. 모호해서 답변이 불가능합니다. 사실 아직 질문 내용을 이해할 수는 있지만, 제 감정 때문에 몇 마디만 더 말씀드리고 싶습니다. 🎜 🎜본론으로 돌아가서, 데이터 초기화시 $watch 처리를 원하지 않으니 이렇게 판단하시면 됩니다🎜 으아악
PHPzhong

으아악


으아악
習慣沉默

초기화 호출을 피하려면 ngChange를 사용하세요

주의:

  • ngModel과 함께 사용해야 합니다

  • 프로그램을 사용하여 ngModel의 값을 변경해도 ngChange가 실행되지 않습니다

사용자가 입력을 변경할 때 주어진 표현식을 평가합니다. 변경이 끝날 때(일반적으로 사용자가 양식 요소를 떠나거나 Return 키를 누를 때)에만 트리거되는 JavaScript onchange 이벤트와 달리 표현식은 즉시 평가됩니다.

ngChange 문서

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿