【发布时间】:2018-02-15 07:45:57
【问题描述】:
我正在使用带有 vue-router 和 vue-2.0 的单个文件组件,但我遇到了一个似乎无法解决的问题。从组件调用的this.$route 对象总是返回空值。
例如
Messages.vue
<template>
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Post List</div>
<div class="panel-body">
<li v-for="item in items">
{{ item.message }}
</li>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
created() {
console.log(this.$route);
},
mounted() {
console.log('Component mounted.')
},
data() {
return {
items: [
{message: 'Foo'},
{message: 'Bar'}
]
}
},
}
</script>
App.js
import Vue from 'vue';
import VueRouter from 'vue-router';
import Messages from './components/Messages';
Vue.use(VueRouter);
const routes = [
{ path: '/user/get/:id', component: Messages},
]
const router = new VueRouter({
routes
})
const app = new Vue({
router,
el: '#app',
components: { Messages }
});
任何帮助将不胜感激。
【问题讨论】:
-
您在浏览器中使用的网址是什么?如果是
/我认为它工作正常。尝试将?parameter=1放在你的url末尾,并检查路由器中的query是否改变 -
@EvaldoBratti 网址是
user/get/2 -
我也有同样的问题。你解决了吗?下面的答案似乎都没有理解这个问题。我可以用
settimeout解决它,但这不是一个好的解决方案
标签: javascript vue.js vuejs2 vue-component vue-router