ホームページ  >  記事  >  ウェブフロントエンド  >  AngularJS サービスとコントローラーは外部コードと対話できますか?

AngularJS サービスとコントローラーは外部コードと対話できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-19 11:42:30897ブラウズ

Can AngularJS Services and Controllers Interact with External Code?

レガシー コードからの AngularJS の呼び出し

Flex アプリから DOM ウィンドウにコールバックをアタッチすることで、AngularJS をレガシー Flex アプリケーションと統合することを目的としています。 。これを実現するには、AngularJS コントローラーがリッスンできるサービスを作成できます。しかし、AngularJS の外部からサービスを更新できますか?また、コントローラーはサービスからイベントを受信できますか?

解決策:

外部コードから AngularJS にアクセスすることはデバッグに相当します。それを使用するか、サードパーティのライブラリと統合します。 DOM 要素を操作する方法は次のとおりです。

  • angular.element(domElement).scope(): 要素の現在のスコープを取得します。
  • angular.element(domElement).injector(): 現在のアプリ インジェクターを取得します。
  • angular.element(domElement).controller(): ng-controller インスタンスを取得します.

インジェクターを使用すると、Angular アプリケーションの任意のサービスにアクセスできます。同様に、スコープから、公開されたメソッドを呼び出すことができます。

モデルの調整やスコープのメソッド呼び出しを $apply():

$scope.$apply(function(){
  // Perform model changes or method invocations on the Angular app here.
});
でラップすることを忘れないでください。

以上がAngularJS サービスとコントローラーは外部コードと対話できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Reactjs の詳細次の記事:Reactjs の詳細