springboot整合vue02-创建前端页面

1.页面布局
因为之前在工程中添加了elementui,因此用elementui来做页面;
打开elementui官网:https://element.eleme.cn/#/zh-CN
 
找到组件-》Container布局容器
找一个看得顺眼的,复制代码到自己的工程的App.Vue中;
 
代码:
<template>
  <div id="app">
    <el-container style="height: 500px; border: 1px solid #eee">
      <el-aside width="200px" style="
        <el-menu :default-openeds="['1', '3']">
          <el-submenu index="1">
            <template slot="title"><i class="el-icon-message"></i>导航一</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="1-1">选项1</el-menu-item>
              <el-menu-item index="1-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="1-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="1-4">
              <template slot="title">选项4</template>
              <el-menu-item index="1-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title"><i class="el-icon-menu"></i>导航二</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="2-1">选项1</el-menu-item>
              <el-menu-item index="2-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="2-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="2-4">
              <template slot="title">选项4</template>
              <el-menu-item index="2-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
          <el-submenu index="3">
            <template slot="title"><i class="el-icon-setting"></i>导航三</template>
            <el-menu-item-group>
              <template slot="title">分组一</template>
              <el-menu-item index="3-1">选项1</el-menu-item>
              <el-menu-item index="3-2">选项2</el-menu-item>
            </el-menu-item-group>
            <el-menu-item-group title="分组2">
              <el-menu-item index="3-3">选项3</el-menu-item>
            </el-menu-item-group>
            <el-submenu index="3-4">
              <template slot="title">选项4</template>
              <el-menu-item index="3-4-1">选项4-1</el-menu-item>
            </el-submenu>
          </el-submenu>
        </el-menu>
      </el-aside>
      
      <el-container>
        <el-header style="text-align: right; font-size: 12px">
          <el-dropdown>
            <i class="el-icon-setting" style="margin-right: 15px"></i>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item>查看</el-dropdown-item>
              <el-dropdown-item>新增</el-dropdown-item>
              <el-dropdown-item>删除</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
          <span>王小虎</span>
        </el-header>
        
        <el-main>
          <el-table :data="tableData">
            <el-table-column prop="date" label="日期" width="140">
            </el-table-column>
            <el-table-column prop="name" label="姓名" width="120">
            </el-table-column>
            <el-table-column prop="address" label="地址">
            </el-table-column>
          </el-table>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>
 
<style>
  .el-header {
    
    color: #333;
    line-height: 60px;
  }
  
  .el-aside {
    color: #333;
  }
</style>
 
<script>
  export default {
    data() {
      const item = {
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      };
      return {
        tableData: Array(20).fill(item)
      }
    }
  };
</script>
xx.vue文件包括三部分:
    template    ->页面,只能有一个根节点,也就是说<template>标签下一级子目录中有且只能有一个<div>
    style    ->样式
    script    ->js
 
结果:主页变成这样
 
2.创建导航栏
主要是修改左侧的导航栏,点击可以调到自定义的页面;
主要步骤:
    新建几个页面(xxx.vue可以放在views目录下)
    配置路由(修改router目录下的index.js)
    修改左侧导航栏(用v-for遍历配置的路由信息)
 
1)页面
主页index.vue,只需要放一个路由窗口<router-view>即可;
<template>
    <router-view></router-view>
</template>
 
<script>
    export default {
        name: "Index"
    }
</script>
 
<style scoped>
 
</style>

 

2)测试页面
创建几个简单的页面用来测试
<template>
    <div>这是页面一</div>
</template>
 
<script>
    export default {
        name: "PageOne"
    }
</script>
 
<style>
 
</style>

 

3)配置路由
修改router目录下的index.js;
给index.vue和几个测试页面配置路由,用来点击时可以在路由窗口中显示对应页面;
import Vue from 'vue'
import VueRouter from 'vue-router'
import Index from '../views/Index.vue'
import PageOne from '../views/PageOne.vue'
import PageTwo from '../views/PageTwo.vue'
import PageThree from '../views/PageThree.vue'
import PageFour from '../views/PageFour.vue'
 
Vue.use(VueRouter)
 
  const routes = [
  {
    path: '/',
    name: '导航一',
    component: Index,
    redirect:'/p1',     //重定向,用来默认显示Page1
    children:[
      {
        path: '/p1',
        name: 'Page1',
        component: PageOne
      },
      {
        path: '/p2',
        name: 'Page2',
        component: PageTwo
      }
    ]
  },
  {
    path:'/nav2',
    name:'导航二',
    component:Index,
    children:[
      {
        path: '/p3',
        name: 'Page3',
        component: PageThree
      },
      {
        path: '/p4',
        name: 'Page4',
        component: PageFour
      }
    ]
  }
]
 
const router = new VueRouter({
  routes
})
 
export default router
 
4)修改导航栏
导航栏在App.vue中;
主要是从路由中获取导航栏的数据,并且给导航绑定路由以便跳转;
 
主要代码:
<el-aside width="200px" style="
  <el-menu router>    <!--需要给标签加上router属性才能跳转-->
    <el-submenu v-for="(item, index) in $router.options.routes" :index="index+''">
      <template slot="title"><i class="el-icon-message"></i>{{item.name}}</template>
        <!--index属性的值设为要跳转的路径-->
        <!--class的值动态添加,来实现点击变色,用$route.path取浏览器跳转地址,注意这里不是$router-->
        <el-menu-item v-for="(item2, index2) in item.children" :index="item2.path"
          :class="$route.path==item2.path?'is-active':''"
        >{{item2.name}}</el-menu-item>
    </el-submenu>
  </el-menu>
</el-aside>

 

5)效果
 
 
 
 
 
posted @ 2020-04-10 09:32  L丶银甲闪闪  阅读(1245)  评论(1编辑  收藏  举报