首頁  >  文章  >  web前端  >  如何將 AngularJS 控制項與需要 DOM 視窗回呼的遺留程式碼整合?

如何將 AngularJS 控制項與需要 DOM 視窗回呼的遺留程式碼整合?

Barbara Streisand
Barbara Streisand原創
2024-10-19 10:34:29122瀏覽

How to Integrate AngularJS Controls with Legacy Code Requiring DOM Window Callbacks?

從舊版程式碼呼叫AngularJS

從舊版程式碼中呼叫AngularJS

問題:您需要將AngularJS 控制項需要將AngularJS 控製版附加到DOM 視窗的回調的應用程式。

解決方案:

  1. 要調度AngularJS 控制器可以從框架外部偵聽的事件,請依照下列步驟操作:

      取得作用域與注入器:
    • 使用angular.element(domElement).scope() 取得HTML 的目前作用域用於更新AngularJS 應用程式的元素。
  2. 使用 angular.element(domElement).injector() 存取目前應用程式註入器。
    • 取得 AngularJS 服務:
  3. 從注入器中,取得您想要更新的 AngularJS 服務。
    • 調用AngularJS 函數:
  4. 在AngularJS 中,將對模型或方法調用的任何更新包裝在$ apply(function(){ ... }) 中的範圍內,以確保正確的更改傳播.

// Get the AngularJS scope and service
var scope = angular.element(document.getElementsByTagName('body')[0]).scope();
var service = scope.injector().get('myService');

// Invoke an AngularJS method
scope.$apply(function () {
  service.update();
});
用法範例:

用法範例:
  • 附加說明:
對AngularJS 模型或作用域方法呼叫的變更必須包含在$apply() 中。 您可以使用 angular.element(domElement).controller() 存取與 HTML 元素關聯的 AngularJS 控制器。

以上是如何將 AngularJS 控制項與需要 DOM 視窗回呼的遺留程式碼整合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn