gpt4 book ai didi

javascript - v-on 处理程序中的错误 : "ReferenceError: i18n is not defined"

转载 作者:行者123 更新时间:2023-12-03 13:18:16 26 4
gpt4 key购买 nike

我正在尝试使用 Vue.js 做一个多语言站点,但我不知道如何调用 const i18n或如何引用它。我已经尝试过 eventBus选项,但我认为这不是正确的选择。我正在使用 vue-router .

导航栏.vue

<template>
<a v-on:click="changeLocale">EN</a>
</template>
<script>
export default {
methods: {
changeLocale: function() {
console.log("es");
i18n.locale = "es";
}
}
};
</script>

main.js

import VueI18n from 'vue-i18n';
import VueRouter from 'vue-router';
import App from './App.vue';
import {routes} from './routes.js';
import {messages} from './i18n.js';

Vue.use(VueRouter);
Vue.use(VueI18n);

const router = new VueRouter({
routes,
mode: 'history'
});

const i18n = new VueI18n({
locale: 'en',
messages
});

new Vue({
el: '#app',
router,
i18n,
render: h => h(App)
});

应用程序.vue

<template>
<div>
<navbar></navbar>
<router-view></router-view>
<footer-part></footer-part>
</div>
</template>

<script>
import Navbar from './components/site/Navbar.vue';
import Footer from './components/site/Footer.vue';

export default {
components: {
'navbar' : Navbar,
'footer-part' : Footer
}
}
</script>

最佳答案

您应该使用 $ 作为前缀签名和this关键字:

   this.$i18n.locale = "es";

关于javascript - v-on 处理程序中的错误 : "ReferenceError: i18n is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59518621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com