1 回答

TA貢獻1880條經(jīng)驗 獲得超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'])
}
然后我根據(jù) 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
}
這似乎是迄今為止最干凈的解決方案。
添加回答
舉報