variable not javascript angularjs angular-digest

javascript - not - angularjs variable in html



"TypeError: Invocación ilegal" al intentar actualizar desde v1.2 (1)

Entre el issue , el link webkit-bug y el something-Webkit-issue , parece que todos (bueno, casi todo el mundo) están lanzando sus manos al aire. . Quizás estoy siendo crítico / simplemente equivocado al decir eso.

De todos modos, no pude hacer que el caso window.history.back registrara sin provocar una Illegal Invocation pero pude hacer console.log.call(window, ''x'') con el siguiente ''fragmento de código:''

(function() { console.log = console.log.bind(console); }());

(tomado directamente del último enlace, ¡ gracias Brian! )

Solo pégalo en la parte superior de tu documento HTML / donde quieras (supongo).

Tengo mucha curiosidad por saber qué pasaría si tuvieras que ejecutar @Ignas. Parece que no puedo replicar el problema que presentas con un enlace de Factory a $scope y ejecutando ese $interval de $interval tuyo.

Me encantaría ver si tiene algún efecto (aunque no sea funcional, sino más bien decorativo , supongo).

Nota al margen; Siendo el novato que soy, me acaban de informar mis compañeros de que console.log.call (ventana) lanzará un error de Invocación Ilegal, por lo que no es un problema. Todavía logFn curiosidad por saber si esto tendría efecto en el logFn dentro de Angular.

Edit: Parece que esto podría estar relacionado con Chrome v43, bajé la versión v42 y todo funciona bien.

Edit: He enviado un issue en el repositorio de Github de Angular.

Parece que el error se return logFn.apply(console, args); Línea 12221 en fuente angular.js.

Aquí hay un link al error de Chromium.

¿Algún consejo sobre qué hacer ahora?

Estoy intentando migrar mi aplicación de AngularJS v1.2 a v1.3 o v1.4 pero estoy obteniendo TypeError: Illegal invocation en Chrome (intento de win, osx y ubuntu).

El seguimiento de la pila no está ayudando realmente:

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)

Así que esto parece tener algo que ver con las solicitudes de AJAX, pero también estoy recibiendo:

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)

Estoy usando $interval para actualizar una clase modelo (que es una fábrica y se refleja en las vistas a través de la configuración de $scope.client para esta clase):

var runTimer = function () { self.timeOnline = time(self.timeSoFar); self.timeSoFar = Date.now() / 1000 - self.alarmTriggeredTime; }; $interval(runTimer, 1000);

Creo que hay un problema con $digest/$apply . He pasado horas depurando esto, pero todavía no tengo ni idea de lo que está pasando.

Cualquier puntero en la depuración adicional es muy apreciado.