vue-routerとvue-2.0で1つのファイルコンポーネントを使用していますが、解決できないような問題が発生しています。コンポーネントから呼び出された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 }
});
ご協力いただきますようお願い申し上げます。
ブラウザで使用しているURLでありますか?それが '/'ならば、私はそれがうまく機能していると思います。あなたのurlの最後に '?parameter = 1'を入れて、ルータの' query'が変わるのを確認してください。 –
@EvaldoBratti urlは 'user/get/2'です – Svedr