我想在我的Vue项目中使用路由,但是并没有在全球范围内注册许多组件,因此我在这里遇到麻烦。
我的项目使用vue-cli和vue-router 我的项目想法是仅在使用相应子组件的父组件中注册这些子组件,但是我想使用路由来控制这些组件的表示。
我的代码如下
Main.js
import Vue from "vue";
import App from "./App";
import VueRouter from 'vue-router'
import test from "./components/test.vue"
Vue.use(VueRouter)
Vue.config.productionTip = false;
const routes = [
{
path: '/test', component: test,
}
]
const router = new VueRouter({routes: routes});
new Vue({
router,
render: h => h(App),
}).$mount('#app')
App.vue
<template>
<div>
<main-layout>
<router-view></router-view>
</main-layout>
</div>
</template>
<script>
import MainLayout from "./components/MainLayout.vue"
import test from "./components/test.vue"
export default {
components: {
"main-layout": MainLayout,
"test": test
},
name : "app",
data(){
return {
collapsed: false,
}
},
}
</script>
就像上面的代码一样,我必须在main.js和app.vue中注册需要路由的每个组件。这些很麻烦,代码也不漂亮。有什么方法或插件可以解决这个问题吗?