1. 程式人生 > >vue搭建後臺管理頁面(點擊左側導航,切換右側內容)

vue搭建後臺管理頁面(點擊左側導航,切換右側內容)

htm right 後臺 opd imp page con com ng-

技術分享圖片

home.vue頁面

<template>
  <div style="background-color: #EBEBEB;min-height:900px">
    <div style="width:100%;background-color: #636363; overflow: hidden">
            <span class="demonstration" style="float:left;padding-top:10px;color:white;margin-left:1%">
                網站首頁
            </span>
      <span class="demonstration" style="float:left;padding:5px;color:white;margin-left:2%;width:15%">
                <el-input
                  placeholder="請輸入"
                  icon="search"
                  v-model="searchCriteria"
                  :on-icon-click="handleIconClick">
                </el-input>
            </span>
      <span class="demonstration" style="float:right;padding-top:10px;margin-right:1%">
                <el-dropdown trigger="click">
                  <span class="el-dropdown-link" style="color:white">
                    admin<i class="el-icon-caret-bottom el-icon--right"></i>
                  </span>
                  <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item>個人信息</el-dropdown-item>
                    <el-dropdown-item>退出登錄</el-dropdown-item>
                  </el-dropdown-menu>
                </el-dropdown>
            </span>
    </div>

    <div style="margin-top:5px">
      <el-row :gutter="10">
        <el-col :xs="4" :sm="4" :md="4" :lg="4">
          <div>
            <el-menu default-active="1" class="el-menu-vertical-demo" style="min-height:900px" @select="handleSelect">
              <el-menu-item index="1"><i class="el-icon-message"></i>導航一</el-menu-item>
              <el-menu-item index="2"><i class="el-icon-menu"></i>導航二</el-menu-item>
              <el-menu-item index="3"><i class="el-icon-setting"></i>導航三</el-menu-item>
            </el-menu>
          </div>
        </el-col>
        <el-col :xs="20" :sm="20" :md="20" :lg="20">
          <div>
            <div style="border: 1px solid #A6A6A6; border-radius:6px; padding:5px; margin:2px; background-color: white">
              <el-breadcrumb separator="/">
                <el-breadcrumb-item v-for="item in breadcrumbItems">{{item}}</el-breadcrumb-item>
              </el-breadcrumb>
            </div>
          </div>

          <div style="margin-top:10px">
            <router-view></router-view>
          </div>
        </el-col>
      </el-row>
    </div>
  </div>
</template>
<script type="text/ecmascript-6">
  export default {
    data(){
      return {
        searchCriteria: ‘‘,
        breadcrumbItems: [‘導航一‘],
      }
    },

    methods:{
      handleIconClick(ev) {
        console.log(ev);
      },

      handleSelect(key, keyPath){
        switch(key){
          case ‘1‘:
            this.$router.push(‘/Page1‘);
            this.breadcrumbItems  = [‘導航一‘]
            break;
          case ‘2‘:
            this.$router.push(‘/Page2‘)
            this.breadcrumbItems  = [‘導航二‘]
            break;
          case ‘3‘:
            this.$router.push(‘/Page3‘)
            this.breadcrumbItems  = [‘導航三‘]
            break;
        }
      },

    },
  }
</script>

插件Page1,Page2,Page3頁面

<template>
  <div>
    這是第一個頁面
  </div>
</template>
<script type="text/ecmascript-6">
  export default {
    data(){
      return {}
    }
  }
</script>

index.js文件

import Vue from ‘vue‘
import Router from ‘vue-router‘
import Home from ‘@/components/Home‘
import Login from ‘@/components/Login‘
import Page1 from ‘@/components/page1‘
import Page2 from ‘@/components/page2‘
import Page3 from ‘@/components/page3‘

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: ‘/‘,
      name: ‘home‘,
      component: Home,
    redirect:"Page1",//重定向,第一次進入就進入Page1,不添加的話第一次進入右側是空白
      children:[
        {
          path: ‘/Page1‘,
          name: ‘Page1‘,
          component: Page1
        },
        {
          path: ‘/Page2‘,
          name: ‘Page2‘,
          component: Page2
        },
        {
          path: ‘/Page3‘,
          name: ‘Page3‘,
          component: Page3
        }
      ]
    }
  ]
})

  

添加redirect:"Page1",輸入地址的時候重定向效果

技術分享圖片

沒添加redirect:"Page1",輸入地址沒重定向效果

技術分享圖片

一、home.vue的<router-view></router-view>

二、home.vue的this.$router.push(‘/Page1‘)

三、index.js添加redirect:"Page1"重定向

四、index.js的children子路由

vue搭建後臺管理頁面(點擊左側導航,切換右側內容)