小编Zim*_*mzo的帖子

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

我正在尝试用 Vue.js 做一个多语言站点,但我不知道如何调用 consti18n或如何引用它。我已经尝试过该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>
Run Code Online (Sandbox Code Playgroud)

主文件

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: …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2 vue-i18n

4
推荐指数
1
解决办法
1457
查看次数

标签 统计

javascript ×1

vue-component ×1

vue-i18n ×1

vue.js ×1

vuejs2 ×1