[解決済み] AngularJS + JQuery : Angularjsで動的コンテンツを動作させる方法
2023-07-03 11:24:32
質問
jQueryとAngularJSの両方を使用したAjaxアプリに取り組んでいます。
divのコンテンツ(AngularJSのバインディングを含む)をjQueryの
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が
#dynamicContent
で、リフレッシュボタンがあり、リフレッシュがクリックされるとこの div のコンテンツが更新されます。コンテンツを更新しない場合、インクリメントは期待通りに動作しますが、更新した後、AngularJSバインディングは動作しなくなります。
これはAngularJSでは有効ではないかもしれませんが、私は最初にjQueryでアプリケーションを構築し、後でAngularJSを使い始めたので、私はすべてをAngularJSに移行することができません。AngularJSでこれを動作させるための任意のヘルプは非常に感謝されます。
どのように解決するのですか?
まず
$compile
を呼び出す必要があります。
あなたのフィドルでは、次のように表示されます。
$("#dynamicContent").html(
$compile(
"<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>"
)(scope)
);
明らかに
$compile
がコントローラにインジェクトされている必要があります。
詳しくは
$compile
ドキュメント
.
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] jQueryで現在のURLを取得する?
-
[解決済み] jQuery に何かを実行する前にすべての画像の読み込みを待つように指示する公式な方法
-
[解決済み] GoogleのCDNからjQuery UI CSSをダウンロードする
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught TypeError: 未定義のプロパティ 'length' を読み取れませんでした。
-
[解決済み] jQueryのpreventDefault()が発動しない
-
[解決済み] GoogleのホストされたjQueryを使用する最良の方法、しかしGoogleの私のホストされたライブラリにフォールバックすることは失敗します。
-
[解決済み] jQueryでPUT/DELETEリクエストを送信する方法は?
-
[解決済み] .on('click') と .click() の違いについて
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] jQueryでloading spinnerを表示するには?
-
[解決済み] jQuery: outer html() [重複]。
-
[解決済み] jquery input select all on focus
-
[解決済み】$(window).width()がメディアクエリとは違う