【发布时间】:2017-05-13 19:31:37
【问题描述】:
我正在使用过滤器功能进行国际化,如下所示:
<div>{{ "hello" | message }}<div>
message 是一个依赖于全局 Vue.config.lang 变量的过滤函数。
效果很好,但是如果我更改 Vue.config.lang,消息不会重新呈现。
我想在 Vue.config.lang 更改时重新呈现消息,所以我更改了我的过滤器功能
message => locale_messages[Vue.config.lang][message]
到
message => new Vue({
template: '{{ message }}',
computed: {
message() { return locale_messages[Vue.config.lang][message]; }
}
})
但它不起作用。收到此错误:
Uncaught TypeError: Converting circular structure to JSON
at Object.stringify (<anonymous>)
....
有什么我可以做的吗?我是 Vue.js 新手,找不到可行的解决方案。
【问题讨论】:
-
在你的位置上,我会尝试深入研究其中的一些组件:github.com/vuejs/awesome-vue#i18n 我想你可以找到一些线索,你应该如何在 Vue 中使用 i18n,因为我认为你做错了...
-
现在消息是一个组件吗?你能提供一些代码吗?
标签: javascript vue.js vuejs2