• Vue2+VueRouter2+webpack 构建项目实战(五):配置子路由


    前言

    通过前面几章的实战,我们已经顺利的构建项目,并且从API接口获取到数据并且渲染出来了。制作更多的页面,更复杂的应用,就是各位自己根据自己的项目去调整的事情了。

    本章讲一下如何配置子路由,因为我们的项目不可能只有一个页面,而是由众多页面构成的。

    新建子路由页面

    在第二节中,我们新建了一个src/frame/subroute.vue的子页面。当时是留空放在那里的。这里,我们给它填写上内容,代码如下:

    <template>
    <div>
    <div class="main">
        <ul>
            <li><router-link :to="{name:'userdefault'}">用户中心默认</router-link></li>
            <li><router-link :to="{name:'userinfo'}">用户中心详情</router-link></li>
            <li><router-link :to="{name:'userlast'}">用户中心设置</router-link></li>
        </ul>
    </div>
    <div>
        <router-view></router-view>
    </div>
    </div>
    </template>
    <script>
    export default {
        data() {
            return {
                
            }
           }           
    }
    </script>

    新建子页面

    我们在src/page文件夹下新建文件夹user,然后在里面新建三个文件index.vue,info.vue和set.vue。代码内容分别如下:

    index.vue代码:

    <template>
      <div>user index page</div>
    </template>

    info.vue代码:

    <template>
      <div>user info page</div>
    </template>

    set.vue代码:

    <template>
      <div>user set page</div>
    </template>

    配置routes.js文件

    打开src/config/routes.js文件,这个文件就是配置所有路由的文件。首先,在顶部插入下面的代码,引用子路由文件

    // 引入子路由
    import Frame from '../frame/subroute.vue'

    routes.js完整代码:

    import Vue from 'vue'
    import Router from 'vue-router'
    
    // 引入子路由
    import Frame from '../frame/subroute.vue'
    
    // 引用模板
    import index from '../page/index.vue'
    import content from '../page/content.vue'
    
    
    
    // 引入子页面
    import userIndex from '../page/user/index.vue'
    import userInfo from '../page/user/info.vue'
    import userSet from '../page/user/set.vue'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/',
             component: index
        },
        {
            path: '/content',
            component: content
          },
          {    
              name:'user',
              path:'/user',
              component: Frame,
              children: [
                  {name:'default',path: '/user/',redirect: '/user/userdefault'},
                {name:'userdefault',path: '/user/userdefault',component: userIndex},
                {name:'userinfo',path: '/user/userinfo',component: userInfo},
                {name:'userlast',path: '/user/userlast',component: userSet}
              ],
            },
      ]
    })

    同时在App.vue中添加一个用户中心入口,整体代码:

    <template>
      <div id="app">
           <div class="nav-list">
          <router-link class="nav-item" to="/">首页</router-link>
          <router-link class="nav-item" to="/content">内容页</router-link>
          <router-link class="nav-item" to="/user">用户中心</router-link>
        </div>
        <router-view></router-view>
      </div>
    </template>
    
    <script>
    export default {
      name: 'app'
    }
    </script>
    
    <style lang="scss">
      @import "./style/style";
    </style>

    我们进入用户中心默认页如图所示:

    如果点击用户中心详情,就进入如图所示:

    参考

    参考地址:http://blog.csdn.net/fungleo/article/details/53213167

  • 相关阅读:
    Apache Beam的特点
    Apache Beam是什么?
    Kudu1.1.0 、 Kudu1.2.0 Kudu1.3.0的版本信息异同比较
    Kudu compaction design
    [转]Oracle trunc()函数的用法
    [转]Charts (Report Builder and SSRS)
    [转]表变量和临时表的比较
    [转]MONTHS_BETWEEN Function
    [转]Grunt 新手一日入门
    [转]Format a ui-grid grid column as currency
  • 原文地址:https://www.cnblogs.com/moqiutao/p/7283112.html
Copyright © 2020-2023  润新知