問題タブ [angularjs-watch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
11 に答える
192040 参照

javascript - 複数の$scope属性を見る

を使用して複数のオブジェクトのイベントをサブスクライブする方法はありますか$watch

例えば

0 投票する
2 に答える
4448 参照

angularjs - スコープが破棄されているときに、スコープ変数を「ウォッチ解除」する必要がありますか?

以下はangularのドキュメントです。のフィルター文字列を構築するために、このスコープの一部であるいくつかの変数を監視していますng-grid。このスコープが破棄されている場合、からの戻り値を呼び出して監視$scope.$watchを解除する必要がありますか、それともスコープの破棄で十分ですか? 監視されている変数がこのスコープの一部ではない場合はどうなりますか?

スコープと共に破棄されている変数を「ウォッチ解除」しないと、メモリ リークやパフォーマンスの問題が発生しますか。


$destroy()

親スコープから現在のスコープ (およびそのすべての子) を削除します。削除は、への呼び出しが$digest()現在のスコープとその子に伝播されなくなることを意味します。削除は、現在のスコープがガベージ コレクションの対象であることも意味します。

は通常、ループの展開を管理する$destroy()などのディレクティブによって使用されます。ngRepeat

スコープが破棄される直前に、$destroyこのスコープでイベントがブロードキャストされます。アプリケーション コードは$destroy、必要なクリーンアップを実行する機会を与えるイベント ハンドラーを登録できます。

AngularJS には$destroy、要素が DOM から削除される前に DOM バインディングをクリーンアップするために使用できる jQuery イベントもあります。

0 投票する
3 に答える
51942 参照

angularjs - AngularJS $watch vs $watchCollection: どちらがパフォーマンスに優れていますか?

オブジェクト スコープ変数を監視するには$scope.$watch、withobjectEqualityを true または$scope.$watchCollectionより良いに設定しますか?

$scope入力要素とビューで更新されたオブジェクト変数 (15 個の属性など、ネストされた 2 レベルの深さ) の場合、 set をに設定するとng-modelどの程度悪いでしょうか? これは避けるべき大きなことですか?$scope.$watchobjectEqualitytrue

$watchCollectionより良い解決策はありますか?

AngularJS アプリのパフォーマンスを向上させるための簡単な方法を探しています (まだ v1.2.2 にこだわっています)。

0 投票する
3 に答える
991 参照

javascript - この ng-grid ページネーションが機能するのはなぜですか

次のコードのif条件で私が理解していることは次のとおりです。

が変更され 、プロパティが変更さpagingOptionsれるたびに条件が true になるため、メソッドが実行されます。currentPageifgetPagedDataAsync

しかし、UI から変更しcurrentPageなくても、グリッドが更新されます。pageSizeこれは(私の理解によると)起こるとは思っていません。では、なぜそのグリッドが更新されるのでしょうか?

ここから、コードを取得しました:

http://angular-ui.github.io/ng-grid/Server-Side Paging Example見出し

0 投票する
2 に答える
411 参照

angularjs - $watcher を再バインドする

HTML:

JS:

ボタンをクリックしたときに $watcher を再バインドする方法。

0 投票する
2 に答える
11985 参照

angularjs - AngularJS: $rootScope 値が変更された場合、ディレクティブ内の $watch が機能しない

アプリケーションを作成しましたが、ディレクティブを持っている angularjs です。$rootScope 変数が変更されたときにディレクティブ内のいくつかのメソッドをトリガーするために、ディレクティブ内にウォッチを配置していますが、問題は $rootScope.name の場合です。値が変更されました ディレクティブ内にあるウォッチが機能していません

私のコードは以下のとおりです

ワーキングデモ

0 投票する
1 に答える
687 参照

angularjs - Angularjs ウォッチ機能の Openlayers3 でマーカーが表示されない

ユーザーの操作に応じて、Openlayers マップに特定のマーカーを表示したいと考えています。そのため、AngularJS の watch 関数をディレクティブ リンク関数で使用します。json オブジェクトを含む配列 (「データ」) を観察します。これらには long も含まれます。& 緯度 EPSG:4326/WGS 84 に保存されます。

私は次のフィドルを適応させようとしました: OpenLayers 3 - 座標に基づいて複数の線/パスを描画します

console.log では、座標 (geometry.getFirstCoordinate()) が正しく生成されていることがわかりますが、マップには表示されません。Angular ダイジェストが原因でこれが機能しないのか、それとも Openlayers の問題なのかはわかりません。問題を解決するために、OLをデバッグするためのヒントもいただければ幸いです。

})();

未解決の点があればお尋ねください。私はそれらを提供するために最善を尽くします。

前もって感謝します!

デュース

0 投票する
2 に答える
146 参照

javascript - $scope.$watch 反復を制御するには?

$scope.$watch 関数を制御しようとしています。現在、イテレーションで無限ループが発生しています。

これが私のscope.dashboardsです:

私が達成しようとしているのは、$scope.dashboards 内のウィジェットの位置が変更されるたびに、localStorage に新しい ID を保存して、その位置の状態を保存し、ブラウザーを閉じたり更新したりしたときにもそれが維持されるようにすることです。セッション/位置を保持します。どうすれば私がこれに取り組むことができるかについての考えを持っているかもしれませんか? ありがとうございました!