jQuery와 AngularJS를 모두 사용하는 Ajax 앱에서 작업 중입니다.
jQuery의 html
함수를 사용하여 div의 콘텐츠 (AngularJS 바인딩 포함)를 업데이트 할 때 AngularJS 바인딩이 작동하지 않습니다.
다음은 내가하려는 코드입니다.
$(document).ready(function() {
$("#refreshButton").click(function() {
$("#dynamicContent").html("<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>")
});
});
</style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid {
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="">
<div id='dynamicContent'>
<button ng-click="count = count + 1" ng-init="count=0">
Increment
</button>
<span>count: {{count}} </span>
</div>
<button id='refreshButton'>
Refresh
</button>
</div>
ID가있는 div 내부에 동적 콘텐츠 #dynamicContent
가 있고 새로 고침을 클릭하면이 div의 콘텐츠를 업데이트하는 새로 고침 버튼이 있습니다. 콘텐츠를 새로 고치지 않으면 Increment가 예상대로 작동하지만 새로 고치면 AngularJS 바인딩이 작동을 멈 춥니 다.
이것은 AngularJS에서 유효하지 않을 수 있지만 처음에는 jQuery로 애플리케이션을 빌드하고 나중에 AngularJS를 사용하기 시작했기 때문에 모든 것을 AngularJS로 마이그레이션 할 수 없습니다. AngularJS에서이 작업을 수행하는 데 도움을 주시면 대단히 감사하겠습니다.