使用AngularJS破解Chrome中的变量更改
Break on variable change in Chrome using AngularJS
类似于这个问题,我想谈谈Chrome中的一个变量更改。然而,我使用的是Angular,所以我想中断的变量只在HTML中定义。它本质上是这样的——
<div ng-click="show = !show">...<div>
<div ng-class="{expanded : show}">...
控制器中没有代码。那么,当show
更改时,我如何让Chrome暂停呢?我知道我可以将代码更改为封装show
的函数调用,然后在那里放置断点,但这是对时间的低效使用,我想知道是否有方法直接中断变量更改。
好吧,您可以通过控制台实现所需的功能:
- 首先访问定义了
show
属性的作用域。在这里是对如何做到这一点的解释 - 然后你可以通过Chrome的
Object.observe
来观察这个范围对象的变化
为了简化这个过程,你可以定义这样的全局函数:
function breakOn(property, object) {
Object.observe(object, function (changes) {
changes.forEach(function (change) {
if (change.name === property) {
console.log("Property " + property + " changed");
console.log(change);
debugger;
}
});
});
}
然后在步骤1之后,在控制台中键入:breakOn('show', $scope);
相关文章:
- AngularJS-在JSON选择器中使用变量名
- AngularJS中的封装窗口全局变量
- $scope变量被视为字符串AngularJs
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- AngularJS-使模型变量可用于jQuery
- 向AngularJS目录添加JS变量
- angularjs:访问angular控制器中的jquery变量
- 如何在AngularJS-ng重复循环中将长JSON路径缩短为变量
- Ionic:AngularJS变量未使用$scope更新DOM
- ng类中isActive方法中的变量angularjs
- 未定义变量AngularJS
- 如何使用AJAX更改服务中的变量?AngularJS
- 使用变量angularjs访问嵌套对象
- 如何获取作用域变量angularjs中的json数据
- 正在更改出厂时的控制器变量.AngularJS
- 我可以't获得服务变量angularjs
- 未定义变量:AngularJS
- 设置$scope变量AngularJS
- 如何在路径中使用变量?(Angularjs)
- 深度拷贝(解绑定)两个作用域变量——AngularJS