1 回答
TA贡献1880条经验 获得超4个赞
对于任何正在寻找 Vue 快速解决方案的人,我使用这个包来解决我的问题:
https://github.com/vinayakkulkarni/vue-intl-numberformat
我在模板中使用了以下格式:
<vue-intl-numberformat
locale="en-IN"
format-style="currency"
:currency="getCurrency"
:number="item.price"
/>
...
computed: {
...mapGetters(['getCurrency'])
}
然后我根据 i18n 中主动选择的语言通过 getter 向其传递正确的货币。
(在我的 vuex 商店中)
getCurrency: (state) => {
let activeLang = i18n.locale
let currency = ''
switch (activeLang) {
case 'en':
currency = 'USD'
break
case 'ko':
currency = 'KRW'
break
case 'ja':
currency = 'JPY'
break
case 'es' || 'fr' || 'it':
currency = 'EUR'
break
case 'zh':
currency = 'CNY'
break
case 'ru':
currency = 'RUR'
break
}
state.currency = currency
return state.currency
}
这似乎是迄今为止最干净的解决方案。
添加回答
举报