編集:これは Chrome v43 に関連しているようです。v42 にダウングレードすると、すべて正常に動作します。
編集: Angular の Github リポジトリに問題を提出しました。
angular.jsソースのreturn logFn.apply(console, args);
行ごとにエラーがスローされるようです
。12221
Chromium バグへのリンクは次のとおりです。
今何をすべきかのヒントはありますか?
アプリを AngularJS v1.2 から v1.3 または v1.4 に移行しようとしていますがTypeError: Illegal invocation
、Chrome を使用しています (win、osx、および ubuntu を試しました)。
スタック トレースはあまり役に立ちません。
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at Scope.$get.Scope.$digest (angular.js:15550)
at Scope.$get.Scope.$apply (angular.js:15824)
at done (angular.js:10263)
at completeRequest (angular.js:10435)
at XMLHttpRequest.requestLoaded (angular.js:10376)
これはAJAXリクエストと関係があるようですが、私も取得しています:
TypeError: Illegal invocation
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at equals (angular.js:1034)
at Scope.$get.Scope.$digest (angular.js:15550)
at Scope.$get.Scope.$apply (angular.js:15824)
at tick (angular.js:10983)
モデルクラスを更新するために使用$interval
しています(これはファクトリであり、$scope.client
このクラスに設定することでビューに反映されます):
var runTimer = function () {
self.timeOnline = time(self.timeSoFar);
self.timeSoFar = Date.now() / 1000 - self.alarmTriggeredTime;
};
$interval(runTimer, 1000);
に問題があると思います$digest/$apply
。これをデバッグするのに何時間も費やしましたが、何が起こっているのかまだわかりません。
さらなるデバッグへのポインタは大歓迎です。