前后端分离入门(4)使用eleui 美化前端

前后端分离入门(4)使用eleui 美化前端#导入eleui安装elenpminstallelement-ui-Smain.js中引入eleimportElementfrom"element-ui";import"element-ui/lib/theme-chalk/index.css&q

大家好,欢迎来到IT知识分享网。

导入eleui

安装ele
npm install element-ui -S
main.js中引入ele

import Element from "element-ui";
import "element-ui/lib/theme-chalk/index.css";

Vue.use(Element);

常用标签解释

前后端分离入门(4)使用eleui 美化前端

通过router动态加载组件

注册路由

const routes = [
  {
    path: '/',
    name: '导航1',
    component: App,
    children:[
      {
        path: '/PageOne',
        name: '页面1',
        component: PageOne
      },
      {
        path: '/PageTwo',
        name: '页面2',
        component: PageTwo
      },
    ]
  },
  {
    path: '/navigation',
    name: '导航2',
    component: App,
    children:[
      {
        path: '/PageThree',
        name: '页面3',
        component: PageThree
      },
      {
        path: '/PageFour',
        name: '页面4',
        component: PageFour
      },
    ]
  },
]

前端代码

<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
        <el-menu>
          <el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
            <template solt="title"><i class="el-icon-setting"></i>{{item.name}}</template>
            <el-menu-item v-for="item2 in item.children">{{item2.name}}</el-menu-item>
          </el-submenu>
        </el-menu>
      </el-aside>

设置动态路由导航

上面做完后,会发现出现套娃
前后端分离入门(4)使用eleui 美化前端

解决方法:
不能直接在App.vue上写代码
App.vue代码改成如下:

<template>
  <div id="app">
    <router-view></router-view>
    </div>
</template>

<style>
.el-header {
  background-color: #B3C0D1;
  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>

核心代码抽成一个组件,同时也要使用router-view标签 去渲染子标签
将组件注册后即可解决问题
前后端分离入门(4)使用eleui 美化前端

事件绑定

实现点击页面即可切换页面操作
el-menu标签添加router属性
<el-menu router="router">
绑定el-menu-item的index值,该值就是跳转路径
<el-menu-item v-for="item2 in item.children" :index="item2.path">{{item2.name}}</el-menu-item>

完整代码

<template>
  <el-container style="height: 500px; border: 1px solid #eee">
    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
      <el-menu router="router">
        <el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
          <template solt="title"><i class="el-icon-setting"></i>{{item.name}}</template>
          <el-menu-item v-for="item2 in item.children" :index="item2.path">{{item2.name}}</el-menu-item>
        </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>
        <router-view></router-view>
      </el-main>
    </el-container>
  </el-container>
</template>

<script>
export default {
  name: "index"
}
</script>

<style scoped>

</style>

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27890.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信