반응형
jquery에서 ng-change를 트리거하는 방법
다음과 같은 선택 태그가 있습니다.
<select ng-change="doSomething()" ng-model="myModel"> </select>
jQueryUI 컨트롤(콤보박스)을 사용하고 있는데 jQuery에서 트리거된 이벤트 "변경"이 doSomething()을 트리거하지 않습니다.
외부 각도에서 ng-change를 트리거하는 방법을 알고 있습니까?
문제는 어떤 코드를 어떻게 실행하느냐가 아니라 변경 이벤트를 어떻게 트리거하느냐입니다.각도 친화적인 방법을 찾았습니다.ng-change가 있는 다른 입력의 값을 변경하는 jQuery UI 슬라이더가 있습니다.비밀은 일단 angular.element로 변환하면 trigger Handler라는 메서드에 액세스할 수 있다는 것입니다.내가 본 바로는, 이것을 사용하는 것은 나쁜 관행이라고는 생각되지 않는다.
angular.element(document.getElementById('test')).triggerHandler('change');
tymeJV의 답변은angular.element("#test")jQuery를 사용하지 않고 직접 사용할 수 있지만 콘솔 오류가 발생하여 기능이 중단되었습니다.이 버전은 종속성 없이 작동합니다.
으-이건 끔찍한 관행이야. 하지만 넌 그걸 사용할 수 있어.angular.element그리고,scope타겟 컨트롤러 내에 있는 요소로부터 송신됩니다.
예:
<div ng-controller="myApp">
<span id="test"></span>
</div>
Javascript:
var scope = angular.element("#test").scope();
scope.doSomething();
당신의.scope이제 변수는 에 정의되어 있는 모든 메서드에 액세스할 수 있게 되었습니다.myApp컨트롤러입니다.
언급URL : https://stackoverflow.com/questions/24330467/how-to-trigger-ng-change-from-jquery
반응형
'programing' 카테고리의 다른 글
| 타이프스크립트 오브젝트 시리얼화? (0) | 2023.03.22 |
|---|---|
| angularjs를 사용하여 브라우저를 검출하는 방법 (0) | 2023.03.22 |
| 데이터를 부트스트랩모달에 전달하는 AngularJS (0) | 2023.03.22 |
| 구문 오류: 알 수 없음: 네임스페이스 태그는 기본적으로 지원되지 않습니다. (0) | 2023.03.22 |
| react-apollo use변환 후크를 사용한 오류 처리 (0) | 2023.03.22 |