【发布时间】:2017-01-31 14:42:37
【问题描述】:
在我的 main.js 文件中我注册了 Vue:
import Vue from 'vue';
import VueRouter from 'vue-router';
import VueResource from 'vue-resource';
import VueI18n from 'vue-i18n';
import App from './components/App.vue';
// Register plugins
Vue.use(VueResource);
Vue.use(VueRouter);
Vue.use(VueI18n);
// Create router
const router = new VueRouter({
history: true,
saveScrollPosition: true,
});
router.start({
components: { App },
}, 'body');
现在我想在我的 App.Vue 中获取翻译文件:
<script>
export default {
ready() {
/* Set Language */
Vue.locale('nl', function setLanguage() {
return this.$http({
url: '/src/language/nl_NL.js',
method: 'get',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
})
.then((response) => {
Vue.locale('nl', response);
Vue.config.lang = 'nl';
}).then(() => {
alert('Error');
});
});
},
};
</script>
我收到错误消息:'Vue' is not defined。我做错了什么?
【问题讨论】:
-
看起来您根本没有将
Vue导入您App.vue? -
Router.start 自动创建一个 Vue 实例。
-
您的意思是它将
Vue变量注入到组件范围内?你能给我一个文档链接吗? -
不,我想我理解错了,对不起。我的意思是,我只在 main.js 中启动一个新的 Vue 实例。上面的代码是我在 App.Vue 中的全部代码(除了一个带有
<router-start></router-start>的 html 行,但这没有意义)。
标签: instance vue.js vue-component