私はjQueryとAngularJSの両方を使用してAjaxアプリに取り組んでいます。
jQueryを使用してdivのコンテンツ(AngularJSバインディングを含む)を更新すると html
関数すると、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のコンテンツを更新する更新ボタンがあります。コンテンツを更新しない場合、インクリメントは期待どおりに機能しますが、更新すると、AngularJSバインディングが機能しなくなります。
これはAngularJSでは有効ではないかもしれませんが、最初はjQueryでアプリケーションを構築し、後でAngularJSを使い始めたため、すべてをAngularJSに移行することはできません。AngularJSでこれを機能させるための助けをいただければ幸いです。