問題タブ [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 投票する
1 に答える
557 参照

javascript - サービススコープangularjsを使用せずにサービス値の変更を$watchする方法

そのため、コントローラーに注入されたいくつかの異なるサービスからの変更を監視するコントローラーがあります。コントローラーは現在、サービスの各スコープを継承して、そこから 1 つの値を $watch します。サービス全体のスコープをミックスにドラッグすることなく、その 1 つの値を $watch する方法を見つけたいと思っています。これが私の疑似コードです。

サービススコープを使用してコントローラーを更新しないようにする方法についての指針をいただければ幸いです。

どうもありがとう

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

angularjs - $scope$watch 別の変数が変更された場合に 1 つの変数を変更する

だから私はオブジェクトをスコープする必要があります

実際には同じデータが含まれていますが、時計がどのように機能するかを知りたいので、プロジェクトで使用できます。

そして、filter:search を使用する hf_directory を監視したいので、入力フィールド ng-model="search" に何かを入力した後に scope.brylanty を更新します。

私はこのようなことをしようとしましたが、変更を加えていません

両方のスコープ オブジェクトは ng-repeat ループによって表示されます。最初に filter:search を別の何も使用しません。別の filter:search を使用できることはわかっていますが、watch の使用方法を学びたい ;)

私のオブジェクトは geojson データです。同じ値が含まれています。geojson は以下のようになります。

あなたのアドバイスの後、私はこれを試しました

この

しかし、良い結果が得られず、どちらの場合も、何かを入力し始めると、オブジェクト brylanty が消えますか?

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

javascript - ng-options の値とラベルが等しい場合のバグ?

$scope.$watch ステートメント内から ng-options を設定すると、問題が発生します。

以下の作品: <select ... ng-options="x.val as x.id for x in options"></select>

しかし、これはしません: <select ... ng-options="x.val as x.val for x in options"></select>

Plunker に問題が表示されます -- [更新オプション] をクリックします

モデルの値がオプションの前に設定され、ラベルと値が等しい場合、モデルは使用可能なオプションと一致しません。

これはバグですか、それとも何か間違っていますか?

サンプル コントローラ コード:

サンプル ビュー:

監視がトリガーされ、オプションが更新されると、選択すると、予想される「2」ではなく、空白またはデフォルトのオプションが表示されます。ただし、ラベルと値が (わずかでも) 異なる場合、すべてが期待どおりに機能します

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

angularjs - テスト中にコンストラクターの AngularJS ウォッチャーが起動されない

コンストラクタを返すファクトリを作成しました。コンストラクターには、インスタンスのプロパティを監視するウォッチャーが含まれています。そのプロパティがテストで変更されると、ウォッチャーは起動されません。テストの外では、それは解雇されます。$rootScope.$apply は役に立たないようです。

これは、コードとテストの簡略化されたバージョンを含む jsfiddle です。

http://jsfiddle.net/2Ny8x/234/

ウォッチャーが起動しないのはなぜですか?

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

angularjs - $scope.$watch (ボタントリガーなし) で ng-include テンプレート変数が変更されませんか?

テンプレート変数 $scope.tpl.partialtemplate1 = 'initialcontactlist.html' を持つコントローラー 'AController' があります。

「AController」は基本的に「mainpage.html」というページ全体を担当します。

「mainpage.html」には、連絡先を追加するためのフォームがあります。このフォームは「partialtemplate1」のビューの一部ではありません。

フォームを送信したら、'partialtemplate1' の HTML ビューを最初のページ読み込み時の状態にリセットしたいと思います。これは、連絡先の最新のリストを再読み込みするためです。

新しい連絡先が正常に追加されるたびに変数をインクリメントし、その変数を監視して部分テンプレート変数を変更するなどのことを試しました。

たとえば、「AController」では次のようになります。

partialtemplate 変数が変更されないのはなぜですか? はい、連絡先は毎回正常に保存されます-Rails factoryでそれを処理しました...