programing

v-on 핸들러 오류: "ReferenceError: i18n이 정의되지 않았습니다."

copyandpastes 2022. 7. 13. 21:43
반응형

v-on 핸들러 오류: "ReferenceError: i18n이 정의되지 않았습니다."

하여 다국어 Vue.js를 어떻게 할지 i18n또는 어떻게 참조해야 하는지. ★★★★★★★★★★★★★★★★★★★를 시험해 보았다.eventBus선택권은 있지만 이건 올바른 선택이 아닌 것 같아요.하고 vue-router.

Navbar.vue

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

main.discloss.main.discloss.

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)
});

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";

언급URL : https://stackoverflow.com/questions/59518621/error-in-v-on-handler-referenceerror-i18n-is-not-defined

반응형