問題タブ [angularjs-digest]
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 - $q には、promise チェーンの解決/拒否時に暗黙的なダイジェスト/適用が含まれていますか?
$q
Promise チェーンの解決/拒否時に、暗黙のダイジェスト/適用が含まれていますか?
コードの一部$q
を使用するために移行しましたq
が、ダイジェストが欠落しているように見え、動作が異なります。これはなぜでしょうか?
javascript - 値が変更されたときにAngularJS '$watch'が起動しない
横向きで表示する必要がある Web アプリがあります。
innerWidth
これを行うために、とをチェックする関数を作成しましたinnderHeight
。幅が高さよりも大きい場合は、幸せな日です。resize
これは、ページをロードするときに完全に機能しますが、イベントが発生したときに方向も確認する必要があります。
だから私のコードの流れは -
resize
イベント呼び出しのトリガー時$scope.getOrienttion()
- 現在の向きを計算し、結果を返す
$scope.getOrienttion()
を使用して の値の変化を監視し、 の値をwatch
更新します。$scope.orientation
上記の手順 1 と 2 は正常に機能しているように見えますが、watch
変更は検出され$scope.getOrienttion()
ず、ページの読み込み時にのみ起動されます。私は何か間違ったことをしているに違いありません。誰でも問題を見つけるのを手伝ってくれますか。
関連するAngularJSは次のとおりです-
そして、これは、値に応じて条件付きクラスが設定されたHTMLです$scope.orientation
(おそらく関係ありませんが、念のため)-
javascript - angularjs の変数が更新されない
AngularJs を使用してタイマーを作成しようとしましたが、setInterval メソッド内で timerCount をインクリメントすると、値は変更されますが、ビューは新しい値で更新されません。コンソール ログを確認したところ、timerCount が必要に応じて増加し、ボタンをもう一度クリックすると、timerCount がビューの現在の値を取得することがわかりました。ビューを毎秒変更するにはどうすればよいですか?
ここにhtmlがあります:
そしてコントローラー:
javascript - Angular で監視ステートメントまたはダイジェスト サイクルを抑制する方法
$scope.watch
現在、モデルを観察するステートメントを含むモデルにテキスト入力が添付されています。これはすべて、一種のオートコンプリート/先行入力機能を実現するために使用されます。
これはうまくいきます。ただし、.then
関数で に変更を加えたい場合がありsearch.mySearchText
ます。明らかに、これによりウォッチャーが再び解雇されますが、私はこれを望んでいません。
私がやりたいことは$watch
、次回の発火を抑える方法を見つけることです。たぶん、その特定の監視されたモデル プロパティがもはやダーティではないことを Angular に伝えることでしょうか?
適切なタイミングで時計を登録解除/再登録して削除しようとしました$watch
が、それもうまくいきませんでした。
ただし、これは私が期待したようにイベントの発生を妨げませんでした。そのため、イベントを抑制する方法を探しています。