如何从Chrome控制台访问Angular中的$scope变量

12 浏览
0 Comments

如何从Chrome控制台访问Angular中的$scope变量

如何从Chrome的控制台访问作用域变量\"widgets\"

function MyCntrl($scope) {
    $scope.widgets = [
        {text:'Widget #1', datarow:1, datacol:1, datasizex:3, datasizey:3},
        {text:'Widget #2', datarow:2, datacol:1, datasizex:3, datasizey:3},
        {text:'Widget #3', datarow:1, datacol:2, datasizex:3, datasizey:3},
        {text:'Widget #4', datarow:2, datacol:2, datasizex:3, datasizey:3}
    ];

类似$scope.widgets这样的代码在控制台里面不能正常工作!

admin 更改状态以发布 2023年5月22日
0
0 Comments

作用域绑定到DOM,因此您需要获取一个元素并使用一些angular代码来获取作用域。

您最好获得Controller绑定的元素,并查看该作用域。

这是答案如何在使用AngularJS时在浏览器控制台中访问$scope变量?

0
0 Comments

这是一种在没有batarang的情况下获取作用域的方法。假设您的页面上引用了jQuery和angular,您可以这样做:

var scope = angular.element($('#selectorId')).scope();

或者如果您想通过控制器名称查找作用域,请执行以下操作:

var scope = angular.element($('[ng-controller=myController]')).scope();

在对模型进行更改后,您需要通过调用来将更改应用于DOM

scope.$apply();

0