如何通过控制台调试变量,这些变量通过 controllerAs 在 AngularJS 中绑定到控制器
How can I debug variables by console which bind to the controller by controllerAs in AngularJS
通常当我使用控制器时,我会将我需要的数据绑定到 $scope
以从标记访问它们。但是当我使用 controllerAs
时,数据应该附加到控制器中的 "this"
。
所以 "this.foo = 'bar'"
而不是 "$scope.foo = 'bar'"
但是我怎样才能使用开发者控制台从浏览器调试数据呢?通常我有我的 "AngularJS Batarang"
插件,我可以打印当前范围内的所有内容,但我不知道如何打印绑定到控制器的数据。
你其实也是这样使用$scope
的; controllerAs
名字将出现在您的 $scope
上。
所以如果 controllerAs
被命名为 "myController":
- 打开开发者工具
- Select "Inspect Element" 页面上的内容。您的控制台 window 现在可以访问该元素的
$scope
(感谢 Batarang)
- 现在您可以键入
$scope.myController.foo
来访问属性。
每次您 select DOM 中的不同元素时,控制台 window 中的 $scope
对象将引用合适的内容。
如果我没听错你的问题,你可以使用以下方法调试绑定到控制器的值:
var ctrl = ele.controller();
这个 post 有一篇关于调试的非常有用的文章。
通常当我使用控制器时,我会将我需要的数据绑定到 $scope
以从标记访问它们。但是当我使用 controllerAs
时,数据应该附加到控制器中的 "this"
。
所以 "this.foo = 'bar'"
而不是 "$scope.foo = 'bar'"
但是我怎样才能使用开发者控制台从浏览器调试数据呢?通常我有我的 "AngularJS Batarang"
插件,我可以打印当前范围内的所有内容,但我不知道如何打印绑定到控制器的数据。
你其实也是这样使用$scope
的; controllerAs
名字将出现在您的 $scope
上。
所以如果 controllerAs
被命名为 "myController":
- 打开开发者工具
- Select "Inspect Element" 页面上的内容。您的控制台 window 现在可以访问该元素的
$scope
(感谢 Batarang) - 现在您可以键入
$scope.myController.foo
来访问属性。
每次您 select DOM 中的不同元素时,控制台 window 中的 $scope
对象将引用合适的内容。
如果我没听错你的问题,你可以使用以下方法调试绑定到控制器的值:
var ctrl = ele.controller();
这个 post 有一篇关于调试的非常有用的文章。