我正在尝试将vue 2迁移到vue 3,这是“类样式组件”。
使用vue-i18 n。我可以在Vue 3中使用Vue-i18 n吗?
package.json
"dependencies": {
"vue": "^3.3.4",
"vue-class-component": "^8.0.0-0",
"vue-i18n": "^9.5.0",
"vue-property-decorator": "^10.0.0-rc.3",
我在浏览器控制台中遇到以下错误。
Uncaught SyntaxError: Must be called at the top of a `setup` function
at createCompileError (message-compiler.esm-browser.js:99:19)
at createI18nError (vue-i18n.mjs:101:12)
at useI18n (vue-i18n.mjs:2294:15)
at TestXXXXXX.vue:20:9
它说“必须在setup
函数的顶部调用”。是否可以在班级风格组件中使用“设置功能”?
下面是我的代码示例。
<script lang="ts">
import { useI18n } from 'vue-i18n';
@Component({
i18n: useI18n()
})
export default class TestXXXXXX extends Vue {
:
有人能帮帮我吗?先谢了。
1条答案
按热度按时间kxkpmulp1#
尽管我的评论,它仍然可以使用vue-i18n与vue-class-component。在
Vue3
中,useI18n
需要在设置函数的顶部使用,如错误消息中所述。vue-class-component
导出一个设置函数,你可以用不同的方式使用它,我们将使用它。下面是如何做到这一点。首先,您需要创建
app
并安装vue-i18n
:在你的
main.ts
或任何你的应用程序的入口:现在你可以在你的项目中使用
$t
和useI18n
,下面是如何做到这一点:在您的
App.vue
中:现在在组件
HelloWorld.vue
中,有两种使用方法:我强烈建议你不要使用
vue-class-component
,而是更多地使用composition API与Vue3
和Typescript
。希望对你有帮助:)