問題タブ [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.
javascript - 複数の$scope属性を見る
を使用して複数のオブジェクトのイベントをサブスクライブする方法はありますか$watch
例えば
angularjs - スコープが破棄されているときに、スコープ変数を「ウォッチ解除」する必要がありますか?
以下はangularのドキュメントです。のフィルター文字列を構築するために、このスコープの一部であるいくつかの変数を監視していますng-grid
。このスコープが破棄されている場合、からの戻り値を呼び出して監視$scope.$watch
を解除する必要がありますか、それともスコープの破棄で十分ですか? 監視されている変数がこのスコープの一部ではない場合はどうなりますか?
スコープと共に破棄されている変数を「ウォッチ解除」しないと、メモリ リークやパフォーマンスの問題が発生しますか。
$destroy()
親スコープから現在のスコープ (およびそのすべての子) を削除します。削除は、への呼び出しが$digest()
現在のスコープとその子に伝播されなくなることを意味します。削除は、現在のスコープがガベージ コレクションの対象であることも意味します。
は通常、ループの展開を管理する$destroy()
などのディレクティブによって使用されます。ngRepeat
スコープが破棄される直前に、$destroy
このスコープでイベントがブロードキャストされます。アプリケーション コードは$destroy
、必要なクリーンアップを実行する機会を与えるイベント ハンドラーを登録できます。
AngularJS には$destroy
、要素が DOM から削除される前に DOM バインディングをクリーンアップするために使用できる jQuery イベントもあります。
angularjs - AngularJS $watch vs $watchCollection: どちらがパフォーマンスに優れていますか?
オブジェクト スコープ変数を監視するには$scope.$watch
、withobjectEquality
を true または$scope.$watchCollection
より良いに設定しますか?
$scope
入力要素とビューで更新されたオブジェクト変数 (15 個の属性など、ネストされた 2 レベルの深さ) の場合、 set をに設定するとng-model
どの程度悪いでしょうか? これは避けるべき大きなことですか?$scope.$watch
objectEquality
true
$watchCollection
より良い解決策はありますか?
AngularJS アプリのパフォーマンスを向上させるための簡単な方法を探しています (まだ v1.2.2 にこだわっています)。
javascript - この ng-grid ページネーションが機能するのはなぜですか
次のコードのif条件で私が理解していることは次のとおりです。
が変更され 、プロパティが変更さpagingOptions
れるたびに条件が true になるため、メソッドが実行されます。currentPage
if
getPagedDataAsync
しかし、UI から変更しcurrentPage
なくても、グリッドが更新されます。pageSize
これは(私の理解によると)起こるとは思っていません。では、なぜそのグリッドが更新されるのでしょうか?
ここから、コードを取得しました:
http://angular-ui.github.io/ng-grid/ のServer-Side Paging Example見出し
angularjs - $watcher を再バインドする
HTML:
JS:
ボタンをクリックしたときに $watcher を再バインドする方法。
angularjs - AngularJS: $rootScope 値が変更された場合、ディレクティブ内の $watch が機能しない
アプリケーションを作成しましたが、ディレクティブを持っている angularjs です。$rootScope 変数が変更されたときにディレクティブ内のいくつかのメソッドをトリガーするために、ディレクティブ内にウォッチを配置していますが、問題は $rootScope.name の場合です。値が変更されました ディレクティブ内にあるウォッチが機能していません
私のコードは以下のとおりです
angularjs - Angularjs ウォッチ機能の Openlayers3 でマーカーが表示されない
ユーザーの操作に応じて、Openlayers マップに特定のマーカーを表示したいと考えています。そのため、AngularJS の watch 関数をディレクティブ リンク関数で使用します。json オブジェクトを含む配列 (「データ」) を観察します。これらには long も含まれます。& 緯度 EPSG:4326/WGS 84 に保存されます。
私は次のフィドルを適応させようとしました: OpenLayers 3 - 座標に基づいて複数の線/パスを描画します
console.log では、座標 (geometry.getFirstCoordinate()) が正しく生成されていることがわかりますが、マップには表示されません。Angular ダイジェストが原因でこれが機能しないのか、それとも Openlayers の問題なのかはわかりません。問題を解決するために、OLをデバッグするためのヒントもいただければ幸いです。
})();
未解決の点があればお尋ねください。私はそれらを提供するために最善を尽くします。
前もって感謝します!
デュース
javascript - $scope.$watch 反復を制御するには?
$scope.$watch 関数を制御しようとしています。現在、イテレーションで無限ループが発生しています。
これが私のscope.dashboardsです:
私が達成しようとしているのは、$scope.dashboards 内のウィジェットの位置が変更されるたびに、localStorage に新しい ID を保存して、その位置の状態を保存し、ブラウザーを閉じたり更新したりしたときにもそれが維持されるようにすることです。セッション/位置を保持します。どうすれば私がこれに取り組むことができるかについての考えを持っているかもしれませんか? ありがとうございました!