问题描述
在模板中使用日期、百分比和货币管道时遇到同样的问题—
Experiencing the same problem with the date, percent, and currency pipes when using them in a template—
例如,我使用的是简单的百分比管道:
For example, I'm using a simple percent pipe:
{{ .0237| percent:'1.2-2' }}
在 Chrome 上运行时它可以工作,但是当我部署到 iOS 设备时,它会抛出此错误:
It works when running on Chrome, but when I deploy to an iOS device, it throws this error:
异常:ReferenceError:找不到变量:Intl in [{{ {{ .0237| percent:'1.2-2' }} ..."
还有其他人遇到过这个问题吗?任何建议或帮助将不胜感激!谢谢!
Has anyone else run into this problem? Any suggestions or help would be greatly appreciated! Thanks!
推荐答案
那是因为它依赖于内部化 API,目前并非所有浏览器都可用(例如 iOS 浏览器不可用).
That's because it relies on the internalization API, which is not currently available in all browsers (for example not on iOS browser).
请参阅兼容性表.
这是一个已知问题(beta.1).
This is a known issue (beta.1).
您可以尝试使用 polyfill for Intl.
为此,您可以使用 CDN 版本,并将其添加到您的 index.html:
To do so, you can use the CDN version, and add this to your index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>
或者如果你使用 Webpack,你可以使用 NPM 安装 Intl 模块:
Or if you use Webpack, you can install the Intl module with NPM:
npm install --save intl
并将这些导入添加到您的应用中:
And add these imports to your app:
import 'intl';
import 'intl/locale-data/jsonp/en';
这篇关于Ionic 2,在 iOS 上使用 Angular 2 管道中断—“找不到变量:Intl"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!