Vue之路由的嵌套

柔光的暖阳◎ 2022-03-16 07:30 287阅读 0赞

路由的嵌套在我的理解看来就是一个父路由里包含一个或多个子路由,实现其实很简单,重要的代码也就只有几行。下面我做的这个小例子就很容易理解。

在这里插入图片描述
在这里插入图片描述
点击“用户”跳转到上面第一个页面,点击“增加用户”跳转到上面第二个页面。(在跳转到第二个页面的时候,其余内容均保持不变)

1.那么,我们应该新建一个用户的组件

User.vue

  1. <template>
  2. <!-- 所有的内容要被根节点包含起来-->
  3. <div id="user">
  4. <div class="user">
  5. <div class="left">
  6. <ul>
  7. <li>
  8. <router-link to="/user/useradd"> 增加用户</router-link>
  9. </li>
  10. <li>
  11. <router-link to="/user/userlist"> 用户列表</router-link>
  12. </li>
  13. </ul>
  14. </div>
  15. <div class="right">
  16. <router-view></router-view>
  17. </div>
  18. </div>
  19. </div>
  20. </template>
  21. <script>
  22. export default {
  23. data(){
  24. return {
  25. msg:'我是一个user组件',
  26. }
  27. }
  28. }
  29. </script>
2.接下来,在components新建一个User文件夹,在其文件夹中新建UserAdd.vue 和UserList.vue

UserAdd.vue

  1. <template>
  2. <div id="adduser">
  3. 增加用户
  4. </div>
  5. </template>

UserList.vue

  1. <template>
  2. <div id="userlist">
  3. 用户列表
  4. </div>
  5. </template>
3.在main.js 中导入并配置路由(这是最重要的)

main.js(重点在第22到24行,第32行到39行)

  1. // The Vue build version to load with the `import` command
  2. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
  3. import Vue from 'vue'
  4. import App from './App'
  5. //请求数据
  6. import VueResource from 'vue-resource';
  7. Vue.use(VueResource)
  8. //导入并使用router
  9. import VueRouter from 'vue-router'
  10. Vue.use(VueRouter)
  11. Vue.config.productionTip = false
  12. //1.创建组件
  13. import Home from './components/Home.vue';
  14. import News from './components/News.vue';
  15. import Content from './components/Content.vue';
  16. import Pcontent from './components/Pcontent.vue';
  17. import User from './components/User.vue';
  18. import UserAdd from './components/User/UserAdd.vue';
  19. import UserList from './components/User/UserList.vue';
  20. //2.配置路由 注意,名字一定不能错
  21. const routes = [ //若这里是 xxx,那么第25行应是 routers:xxx
  22. { path: '/home', component: Home },
  23. { path: '/news', component: News },
  24. { path: '/content/:aid', component: Content },/* 动态路由*/
  25. { path: '/pcontent', component: Pcontent },
  26. {
  27. path: '/user',
  28. component: User ,
  29. children:[
  30. { path: 'useradd', component: UserAdd },
  31. { path: 'userlist', component: UserList }
  32. ]
  33. },
  34. { path: '*', redirect: '/home' }//默认跳转路由
  35. ]
  36. //3.实例化VueRouter 注意,名字一定不能错
  37. const router = new VueRouter({
  38. routes // (缩写)相当于 routes: routes
  39. })
  40. //4.挂载路由
  41. /* eslint-disable no-new */
  42. new Vue({
  43. el: '#app',
  44. router,
  45. components: { App },
  46. template: '<App/>'
  47. })
  48. //5.根组件的模板里放上这句话 <router-view></router-view>
4.最后这是我的目录结构和App.vue,方便大家理解

在这里插入图片描述
App.vue

  1. <template>
  2. <div id="app">
  3. <router-link to="/home">首页</router-link>
  4. <router-link to="/news">新闻</router-link>
  5. <router-link to="/user">用户</router-link>
  6. <hr>
  7. <router-view></router-view>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. name: 'App',
  13. data(){
  14. return{
  15. msg:'你好vue'
  16. }
  17. }
  18. }
  19. </script>
  20. <style>
  21. </style>

以上就是Vue的路由嵌套,本人学的也不是很好。若有任何疑问或是不解,请在下方评论,谢谢。

发表评论

表情:
评论列表 (有 0 条评论,287人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue 嵌套

    文章目录 嵌套路由 具体实现 嵌套路由 说白了就是选项卡中又嵌套一个选项卡。 可以看看官方的例子 [传送门][Link 1] 具体

    相关 vue嵌套

    嵌套路由就是路由里面嵌套他的子路由 子路由关键属性children 每一个子路由里面可以嵌套多个组件 子组件又有路由导航和路由容器 <rou

    相关 Vue嵌套

    路由的嵌套在我的理解看来就是一个父路由里包含一个或多个子路由,实现其实很简单,重要的代码也就只有几行。下面我做的这个小例子就很容易理解。 ![在这里插入图片描述][water