1. ホーム
  2. angularjs

[解決済み] AngularJSのサービスに現在のスコープを渡す

2022-10-31 14:40:29

質問

current"を渡すのは正しいのでしょうか? $scope をAngularJSのサービスに渡すのは正しいですか?

私は、$serviceが1つのコントローラによってのみ消費されることを知っている状況にあり、$serviceメソッド自体にコントローラのスコープへの参照を持たせたいと思います。

これは 哲学的に は正しいのでしょうか?

それとも、$rootScopeにイベントをブロードキャストして、コントローラがそれを聞くようにした方がいいのでしょうか?

どのように解決するのですか?

非同期で何かが起こったときにそれをコントローラに知らせるために Angularの約束 .

を呼び出すために $apply を呼び出すには、スコープを必要としません。 $rootScope.$apply を呼び出すことができます。特定のスコープで呼び出すことと、ルートで呼び出すことに違いはないからです。

変数の読み込みについてですが、パラメータを受け取った方が良いと思います。しかし、オブジェクトパラメータとしてスコープから読み込むこともできますが、私ならパラメータにします、その方がサービスインターフェースがより明確になります。