programing

jquery에서 ng-change를 트리거하는 방법

mbctv 2023. 3. 22. 22:00
반응형

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

반응형