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)效果
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM