私は vuejs を初めて使用し、使用する際にいくつか質問があります。2 つの子コンポーネントを含むルート ビューを作成すると、rootview.vue ファイルは次のようになります。
<template>
<div id="rootView">
<calendar-top-view></calendar-top-view>
<calendar-bottom-view></calendar-bottom-view>
</div>
</template>
<script>
import calendarTopView from './calendarTopView.vue'
import calendarBottomView from './calendarBottomView.vue'
export default {
components: {
'calendar-top-view': calendarTopView,
'calendar-bottom-view': calendarBottomView
}
}
</script>
また、calendar-bottom-view コンポーネントでは、vue-router を使用して子コンポーネント (calendarView とアジェンダView) を切り替える必要があります。そこで、calendar-bottom-vue コンポーネントだけに vue-router を追加することにしました。コードは次のようになります。
<template>
<div id='mainRightDiv'>
<div id='calendarToolboxDiv'>
<a v-link='{ path: "/calenarView"}'></a>
<a v-link='{ path: "/agendaView"}'></a>
</div>
<router-view></router-view>
</div>
</template>
<script type="text/javascript">
import Vue from 'vue'
import calendarView from './calendarView.vue'
import agendaView from './agendaView.vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
let App = Vue.extend({})
let router = new VueRouter()
router.map({
'/calendarView': {
component: calendarView
},
'/agendaView': {
component: agendaView
}
})
export default {
ready: function () {
router.go({ path: '/calendarView'})
}
}
</script>
私がやろうとしているのは、コンポーネントが初期化されるときに、ルーターが最初に calendarView をレンダリングできるようにすることです。しかし、このページを実行すると、次のようなエラーメッセージが表示されました
「router-view> は、ルーター対応アプリ内でのみ使用できます。」
vue-router の公式仕様を確認したところ、デモ コードで vue-router がデモ アプリのエントリ js で使用されており、子コンポーネントで使用されていませんでした。
ルートの代わりに、子コンポーネントの 1 つで vue-router を使用するにはどうすればよいのでしょうか。