從舊版程式碼呼叫AngularJS
從舊版程式碼中呼叫AngularJS
問題:您需要將AngularJS 控制項需要將AngularJS 控製版附加到DOM 視窗的回調的應用程式。
解決方案:
- 要調度AngularJS 控制器可以從框架外部偵聽的事件,請依照下列步驟操作:
取得作用域與注入器:-
- 使用angular.element(domElement).scope() 取得HTML 的目前作用域用於更新AngularJS 應用程式的元素。
使用 angular.element(domElement).injector() 存取目前應用程式註入器。 -
從注入器中,取得您想要更新的 AngularJS 服務。 -
在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中文網其他相關文章!