• vue搭建后台管理页面(点击左侧导航,切换右侧内容)


    home.vue页面

    <template>
      <div style="background-color: #EBEBEB;min-height:900px">
        <div style="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%;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子路由

  • 相关阅读:
    MySQL SQL语句总结
    JavaFx通用查询、跳转创建、修改页面、关闭舞台工具类
    反射工具类
    SpringBoot将数据写入word模板,生成word文档
    vscode设置中文的方法
    Flex 布局
    处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” •使用了托管的处理程序,但是未安装或未完整安装 ASP.NET。
    第一周助教总结
    JS时间转换
    ES 安装常见错误
  • 原文地址:https://www.cnblogs.com/YAN-HUA/p/9707654.html
Copyright © 2020-2023  润新知