[解決済み]どのようにangularjsの配列を深く見るには?
2022-03-26 07:26:40
質問
スコープ内にオブジェクトの配列があり、各オブジェクトのすべての値を監視したいのですが、どうすればよいですか?
これは私のコードです。
function TodoCtrl($scope) {
$scope.columns = [
{ field:'title', displayName: 'TITLE'},
{ field: 'content', displayName: 'CONTENT' }
];
$scope.$watch('columns', function(newVal) {
alert('columns changed');
});
}
しかし、値を変更すると、たとえば
TITLE
を
TITLE2
は、その
alert('columns changed')
がポップアップすることはありませんでした。
配列内のオブジェクトをディープウォッチする方法は?
ライブデモがあります。 http://jsfiddle.net/SYx9b/
解決方法は?
の第3引数を設定することができます。
$watch
を
true
:
$scope.$watch('data', function (newVal, oldVal) { /*...*/ }, true);
参照 https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watch
Angular 1.1.x以降では、$watchCollectionを使用してコレクションを浅く見ることもできます("最初のレベルだけ")。
$scope.$watchCollection('data', function (newVal, oldVal) { /*...*/ });
参照 https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watchCollection
関連
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] AngularJS : ローカルストレージを使用する
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] ServiceとFactoryで迷う
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
-
[解決済み】AngularJS 。ウォッチクリア
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] `ui-router` $stateParams vs. $state.params
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] AngularJSのディープリンクとは何ですか?
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] 誰かangularjsの$qサービスの使用について説明してください。[重複しています]。
-
[解決済み] createspyとcreatespyobjの違いは何ですか?
-
angularjsのルーティングについて $stateと$stateParamsの話
-
[解決済み] コントローラでフィルタを使用するには?