Vue实战--活动创建项目(二)路由设计及导航栏开发

往期链接:Vue实战--活动创建项目(一)项目分析

我们直接开始项目,像引入Muse-ui这种基础操作我在这里就跳过了

项目组件划分

根据对项目的分析,我新建了如下几个组件。
Vue实战--活动创建项目(二)路由设计及导航栏开发

vue-router路由设计

组件新建好以后,我们来设置路由
src/router/index.js

import Vue from 'vue'
import Router from 'vue-router'
import Index from 'components/Index'
import Login from 'components/Login'
import Regular from 'components/activity/regular/Regular'
import Topic from 'components/activity/topic/Topic'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'index',
      component: Index
    },
    {
      path: '/login',
      component: Login
    },
    {
      path: '/Topic',
      component: Topic
    },
    {
      path: '/regular',
      component: Regular
    }
  ]
})

这里要注意的就是我import的路径是经过设置的
在build/webpack.base.conf.js找到resolve,将我们components设置为我们组件的位
这样子在import的时候components就代表了‘src/components’路径

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'components': resolve('src/components'),
    }
  }

nav-menu导航栏开发

因为用的是Muse-ui所以导航栏直接从文档里copy,这里就不上代码了,使用方法文档里写的很清楚了
这里就说一下涉及Vue语法的部分,项目顶部导航栏左边的title要求随路由变化而变化,直接在模板代码中{{this.$route.name}}就可以可以了
在vue-router中$route就表示当前路由对象(详见官方文档)

<mu-appbar style="width: 100%;" color="primary">
        {{this.$route.name}}
        <mu-menu slot="right">
          <mu-button flat>MENU</mu-button>

设置好这些,在控制台运行命令npm run dev我们看看效果

Vue实战--活动创建项目(二)路由设计及导航栏开发
可以看到页面雏形已经搭建出来了

后续文章:Vue实战(三)项目配置

相关推荐