09-JavaScript获取AngularJS的$scope对象

方法1:通过App对象查找

1
2
3
4
5
6
// 通过DOM操作获取ng-app对象
var element = angular.element(document.getElementById("myApp"));
// 通过app对象获取ctrl对象
var controller = element.controller();
// 通过ctrl对象获取$scope
var scope = element.scope();

方法2:通过Controller查找

1
2
3
// 输入参数为ctrl名字
var ctrl= document.querySelector('[ng-controller=ctrlName]');
var scope = angular.element(ctrl).scope();

★使修改后的数据生效

1
scope.$apply();

其他常用方法

1
2
3
4
5
6
// 获取当前元素的$socpe: 
angular.element(domElement).scope()
// 获取当前app的injector:
angular.element(domElement).injector()
// 获取当前元素的controller:
angular.element(domElement).controller()