Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

196
Views
La detección de cambios no se ejecuta correctamente en Firefox

En Chrome, todo funciona, pero en Firefox, los enlaces nunca se actualizan.

Parece que el problema tiene que ver con core-js y/o zone.js :

  • https://github.com/AngularClass/angular2-webpack-starter/issues/709
  • https://github.com/angular/angular/issues/9385

Estos problemas están solucionados, pero estoy en la última versión de angular ( v2.4.9 ) y no funciona.

polyfill.ts , que es:

 import 'core-js/es6/symbol'; import 'core-js/es6/object'; import 'core-js/es6/function'; import 'core-js/es6/parse-int'; import 'core-js/es6/parse-float'; import 'core-js/es6/number'; import 'core-js/es6/math'; import 'core-js/es6/string'; import 'core-js/es6/date'; import 'core-js/es6/array'; import 'core-js/es6/regexp'; import 'core-js/es6/map'; import 'core-js/es6/set'; import 'core-js/es6/reflect'; import 'core-js/es7/reflect'; import 'zone.js/dist/zone';

En main.ts Intenté poner la importación de zone.js antes de las importaciones core-js como se sugiere en uno de los tickets de Github, pero no funciona.

¿Hay otro polyfill que deba incluir o vincular en mi index.html ?

Editar #1

Parece que en realidad funciona el 50% del tiempo en Firefox. Si actualizo la página, la renderizará correctamente cada dos veces. Cuando no funciona, no funciona absolutamente ningún enlace; las devoluciones de llamada de eventos no se ejecutan, los enlaces {{ ... }} no se procesan, etc.

Editar #2

Este error en realidad es causado por la plataforma.js de Polymer (polyfills para Polymer) que estoy vinculando en mi index.html. Si lo elimino, los enlaces comienzan a funcionar nuevamente. Implementé este sintetizador Midi en mi aplicación y usa Polymer, que requiere platform.js . Entonces parece que hay un conflicto entre platform.js y Angular2 en Firefox . ¿Hay alguna manera de que pueda resolver este conflicto?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

He estado buscando un poco.

Aparentemente, Firefox almacena datos en caché, de ahí su problema.

Mucha gente parece estar molesta al desarrollar Angular con Firefox.

Encontré este código , no resolvió el problema del tipo, pero debería resolver el tuyo:

 $rootScope.$on('$viewContentLoaded', function() { $templateCache.removeAll(); });

Si no, te aconsejo que busques caché y Angular2

over 4 years ago · Santiago Trujillo Report

0

Dado que aún no se han encontrado soluciones, he recurrido a activar las detecciones de cambios manualmente (cuando el agente de usuario es Firefox) por ahora.

Uso:

 import { ApplicationRef } from '@angular/core'; ... constructor(private applicationRef: ApplicationRef) {} ... setInterval(() => this.applicationRef.tick(), 100);
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!