调试时缺少角度作用域
Missing angular scope when debugging
我有一个控制器,我有这样的广播:
$scope.seachColumn= function () {
$scope.$broadcast('seachColumn', true);
}
其他监听广播的控制器:
$scope.$on('seachColumn', function (event) {
//console.log($scope);
console.log('vuala');
});
我注释行console.log($scope)
,然后使用Chrome浏览器我创建行console.log('vuala')
上的断点。当Chrome停止在这一行,并在控制台中,我尝试执行命令console.log($scope)
,我得到一个错误:
Uncaught ReferenceError: $scope is not defined
但是如果我取消console.log($scope)
行注释,那么这行打印$scope
没有错误。
为什么会这样?
只是出于好奇(可能不是一个解决方案,但可能很有趣),如果将该函数(包含日志调用)绑定到包含$scope的作用域,会发生什么?
$scope.$on('seachColumn', function (event) {
//console.log($scope);
console.log('vuala');
}.bind ( this )); // or whatever context makes sense.
未定义意味着$作用域还不存在(这似乎不太可能,因为调用函数作为参数的另一个函数成功了),或者函数存在于另一个上下文中,日志调用看不到它(因为它在函数作为参数中)。
相关文章:
- 监视函数从服务返回不起作用,但作用域函数起作用
- 将作用域存储在JSON中
- 从控制器继承了隔离的作用域以生成可重用的指令
- 从ng模板访问作用域
- 调用私有作用域
- 对父作用域的指令更新延迟了一步
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 在具有命名作用域的自定义Polymer元素中隐藏表行
- AngularJS指令隔离作用域
- Angularjs:修改js中的作用域,稍后在页面中使用
- 访问多个指令的隔离作用域
- Javascript作用域和Ajax调用;工作不正常
- 向Angular作用域对象添加对象数组——TypeError
- ng重复中的ng模型-初始化唯一作用域属性
- 在put方法之前从作用域获取数据
- 访问节点调试器中的外部作用域变量 repl.
- 调试时缺少角度作用域
- 在chrome开发工具中调试带有词法作用域(闭包)的angularjs指令时的奇怪行为