Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

369
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda