Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

340
Vistas
Ionic 2, uso de rupturas de tuberías de Angular 2 en iOS: "No se puede encontrar la variable: Intl"

Experimentar el mismo problema con las canalizaciones de fecha, porcentaje y moneda al usarlas en una plantilla:

Por ejemplo, estoy usando una tubería de porcentaje simple:

 {{ .0237| percent:'1.2-2' }}

Funciona cuando se ejecuta en Chrome, pero cuando lo implemento en un dispositivo iOS, arroja este error:

"EXCEPCIÓN: Error de referencia: no se puede encontrar la variable: Intl en [{{ {{ .0237| percent:'1.2-2' }} ..."

¿Alguien más se ha encontrado con este problema? ¡Cualquier sugerencia o ayuda sería muy apreciada! ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esto se debe a que se basa en la API de internalización, que actualmente no está disponible en todos los navegadores (por ejemplo, no en el navegador de iOS).

Consulte la tabla de compatibilidad .

Este es un problema conocido (beta.1).

Puede intentar usar un polyfill para Intl .

Para hacerlo, puede usar la versión CDN y agregar esto a su index.html:

 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

O si usa Webpack, puede instalar el módulo Intl con NPM:

 npm install --save intl

Y agregue estas importaciones a su aplicación:

 import 'intl'; import 'intl/locale-data/jsonp/en';
over 4 years ago · Santiago Trujillo Denunciar

0

Hay una solución rápida para esto. Agregar

 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

a su archivo index.html antes de la entrada <script src="cordova.js"></script> .

Vea esta respuesta de github https://github.com/angular/angular/issues/3333#issuecomment-203327903

over 4 years ago · Santiago Trujillo Denunciar

0

O otra solución sería escribir esas tuberías usted mismo. Para la fecha, por ejemplo, puede usar moment.js, o aquí hay un ejemplo para la tubería de moneda:

 import { Pipe, PipeTransform } from '@angular/core' @Pipe({ name: 'currency' }) export class CurrencyPipe implements PipeTransform { constructor() {} transform(value: string, currencyString: string ) { let stringOnlyDigits = value.replace(/[^\d.-]/g, ''); let convertedNumber = Number(stringOnlyDigits).toFixed(2); return convertedNumber + " " + currencyString; } }

Esta tubería está transformando la moneda. La tubería de porcentaje funcionaría casi de la misma manera. La expresión regular está filtrando todos los dígitos, incluido el punto para números flotantes.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda