Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么赢了';t将角度日志连接到Firebug控制台_Javascript_Angularjs_Console_Firebug - Fatal编程技术网

Javascript 为什么赢了';t将角度日志连接到Firebug控制台

Javascript 为什么赢了';t将角度日志连接到Firebug控制台,javascript,angularjs,console,firebug,Javascript,Angularjs,Console,Firebug,我的代码库/开发环境在过去一两周的某个时候出现了以下问题: Angular控制范围内我的javascript引发的任何错误都不会记录到Firebug控制台。 ============================ 详情及调查: 我尝试了以下两种方法进行测试: var x; var y = x.test(); 及 我希望这两种方法的行为基本相同:JS停止执行,console打印错误消息。 在我的测试中,这两种情况的表现都是一样的,所以我将使用下面的抛出示例 如果我只是在页面上包含的Angula

我的代码库/开发环境在过去一两周的某个时候出现了以下问题:

Angular控制范围内我的javascript引发的任何错误都不会记录到Firebug控制台。

============================

详情及调查: 我尝试了以下两种方法进行测试:

var x;
var y = x.test();

我希望这两种方法的行为基本相同:JS停止执行,console打印错误消息。 在我的测试中,这两种情况的表现都是一样的,所以我将使用下面的抛出示例

如果我只是在页面上包含的Angular脚本(即
.js
文件)的开头抛出,该文件恰好使用Angular,并且位于
标记中。那么我会得到我的错误。 e、 g

如果我在Angular代码内部的回调中遇到错误(即,Angular的正常控制范围之外的某个地方;我必须添加$apply()才能立即更新更改的地方),那么我再次在相关点上获得错误。 e、 g

但是如果我在Angular的代码中抛出错误(例如,在控制器的定义函数的顶部),或者如果我故意拼错Angular对象的一个依赖项。那么我不会在控制台上得到任何错误,但是JS会停止执行。 e、 g

如果我在Chrome中重复,那么我会找回我所有的错误。 如果我禁用Firebug并打开Firefox控制台,那么我会找回所有错误

所以我得出结论,Angular决定它不喜欢我的Firebug控制台,因此除非我直接调用
console.log()
.WTF,否则不会登录到它

我试过:

  • 将我的代码库回滚到几周前的提交,当时我90%确定它工作正常
  • 重新启动Firefox
  • 重新启动计算机
  • 重新安装Firebug

在这些情况下,症状没有任何变化。

这一点都不令人满意,但我通过工厂重置Firebug解决了问题

在“”上有一个特定条目:
Firebug菜单>选项>重置所有Firebug选项

现在我有了所有地方的所有错误

如果有人能猜出我进入错误状态的背景,我很想听到

throw new Error('test');
var app = angular.module("AbiApp", []);

console.log('test1');       // I see this.
throw new Error('test2');   // I DO see this.
console.log('test3');       // I don't see this. (as expected)

app.controller('HomeController', ['$scope', function ($scope) {
});
var app = angular.module("AbiApp", []);

app.controller('HomeController', ['$scope', function ($scope) {
    // We're using SignalR
    $.connection.hub.start().done(function () {
        console.log('test1');       // I see this.
        throw new Error('test2');   // I DO see this.
        console.log('test3');       // I don't see this. (as expected)
    });
});
app.controller('HomeController', ['$scope', function ($scope) {
    console.log('test1');       // I see this.
    throw new Error('test2');   // I don't see this. :(
    console.log('test3');       // I don't see this.
});
app.controller('HomeController', ['$scpe', function ($scope) {
                     //            *****         No error thrown.
    console.log('test1');       // I don't see this.
});