問題タブ [rootscope]
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 は角度で保留中のタスクを削除しません
$q
プロミスをモックまたは作成するために使用する angular のテストを作成すると、遅延タスクが作成されます。
$rootScope.$apply
呼び出すことでこれらの約束を解決するはずだと思いました。
しかし、これを行うと$timeout.verifyNoPendingTasks()
、例外がスローされます。
エラー: フラッシュする遅延タスク (1): {id: 0, time: 0}
これはなぜで、どのように修正するのですか?
angularjs - $rootScope をリセットするには?
ユーザーがログアウトしたら、$rootScope をクリーンアップする必要があります。試してみ$rootScope.$destroy()
ましたが、うまくいきませんでした。$rootScope のすべての値をループして削除する方法、または単純にリセットする方法はありますか?
javascript - 関数で $rootScope を使用することが推奨されないのはなぜですか?
Angularjs の FEQ を調べているときに、以下の記事を見ました。
$rootScope は存在しますが、悪用される可能性があります
Angular のスコープは階層を形成し、プロトタイプとしてツリーの最上部にあるルート スコープから継承します。ほとんどのビューには独自のコントローラー、つまりスコープがあるため、通常、これは無視できます。
場合によっては、アプリ全体に対してグローバルにしたいデータの断片があります。
$rootScope
これらについては、他のスコープと同様に値を挿入して設定できます。ng-show
スコープはルート スコープから継承するため、これらの値は、 local の値と同様に、ディレクティブに関連付けられた式で使用できます$scope
。もちろん、グローバルな状態は最悪であり
$rootScope
、(できれば) どの言語でもグローバル変数を使用するように、慎重に使用する必要があります。特に、コードには使用せず、データのみに使用してください。に関数を配置したい場合は$rootScope
、ほとんどの場合、必要な場所に挿入でき、より簡単にテストできるサービスに配置することをお勧めします。逆に、データのビットを保存して返すことだけを目的とするサービスを作成しないでください。
だから私の疑問は、なぜ $rootScope がグローバル関数としての関数に推奨されないのですか? パフォーマンスの問題はありますか?
angularjs - $rootScope、$compile、および$routeを使用して、角度のあるコントローラーで別のコントローラーを呼び出すことができません
reportsController ページのリロード時に、reportsController で homeController を呼び出すつもりですが、どのように呼び出すことができますか?
javascript - イベントボタンを2回クリックした後に角度ルートスコープ変数のみが更新されるのはなぜですか?
FileReaderを使用してアップロードされたファイルを読み取り、そのデータを表示すると、html の rootScope 変数が 2 回クリックすると更新されることがわかりました。しかし、変数が更新されているため、最初のクリック後にコードが実行されたと確信しています。
これは、fileReader を使用するためにインターネットで見つけたフィドルですが、それでも同じ問題があります。{{ data }}を更新するには、 [追加]ボタンを 2 回クリックする必要があります。
コードはからのものです > AngularJS を使用したファイルのアップロード