首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在i18n + Vue 3中使用货币格式?

如何在i18n + Vue 3中使用货币格式?
EN

Stack Overflow用户
提问于 2021-06-22 06:59:02
回答 1查看 1.3K关注 0票数 1

我有{{n (100, "currency")}},我想把它显示为$100 --但是我怎么才能正确地得到n呢?例如,当我使用

代码语言:javascript
运行
复制
import { useI18n } from "vue-i18n";

代码语言:javascript
运行
复制
 setup() {
    const { t, n } = useI18n({
      locale: "en-US",

      numberFormats: {
        "en-US": {
          currency: {
            style: "currency",
            currency: "USD",
          },
        },
      },
    });

    return { t, n };
  },

我得到一个错误Uncaught (in promise) SyntaxError: Invalid arguments如何解决这个问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-22 08:29:45

  1. VueI18n必须是已初始化 1,使用createI18napp.use()
  2. 若要使用组合API,legacy: false 必须使用

见下面的例子。请注意,在示例中使用VueI18n.createI18nVue.createApp是因为脚本是从CDN加载的。当与邦德勒一起使用时,只需使用import并直接使用createAppcreateI18n .

代码语言:javascript
运行
复制
const i18n = VueI18n.createI18n({
  legacy: false,
  locale: "en-US",
  numberFormats: {
    "en-US": {
      currency: {
        style: "currency",
        currency: "USD",
      },
    },
  },
})

const app = Vue.createApp({
  setup() {
    const { n } = VueI18n.useI18n()
    return { n }
  }
})
app.use(i18n)
app.mount("#app")
代码语言:javascript
运行
复制
<script src="https://unpkg.com/vue@next"></script>
<script src="https://unpkg.com/vue-i18n@next"></script>
<div id="app">
  {{ n(100, "currency") }}
</div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68078890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档