从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建

这篇具有很好参考价值的文章主要介绍了从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客

一、了解Element-ui 

1.Element-UI

  • Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
    1. Element UI是基于Vue 2.0的
    2. Element UI 提供一组组件
    3. Element UI 提供组件的参考实例, 直接复制

2.官网

 地址:https://element.eleme.io/#/zh-CN

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

二、集成Element-ui

1.安装

我们进入官网之后,会有很详细的讲解,包括国际化和使用Element-ui

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

我们打开我们的项目,找到终端,然后输入 npm i element-ui -S

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

2.配置main.js文件

在我们安装完成之后,我们找到main.js,然后在main.js里面去引入我们的Element-ui,如上图所示

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

3.自定义全局css样式

我们在assets里面新建一个css文件夹,然后定义一个全局css样式global.css

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

同样的道理,我们在main.js里面依然引入自己写的css

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

三、搭建后台主体框架

1.脚手架布局

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

我们在compones里面新建2个Vue,分别是我们的侧边栏和头部。

        在views里面新建一个Manage.Vue,这里就是来存放我们的脚手架的,将我们的侧边栏和头部Header进行封装,

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

        然后就是我们的重点了,我们怎么样去使用封装之后的脚手架。那就涉及到我们的Routr了,我们的路由,所以我们要在我们的路由里面去配置我们的脚手架。 

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

2.头部Header

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

        其实头部不就那么几种,写一个框框,然后在框框里面去获取用户的信息,例如头像或者是用户名,然后还可以给我们的头部设定背景颜色。

<template>
  <div style="line-height: 60px; display: flex">
    <div style="flex: 1">
      <span :class="collapseBtnClass" style="cursor: pointer; font-size: 18px" @click="collapse"></span>
      <el-breadcrumb separator="/" style="display: inline-block; margin-left: 10px">
        <el-breadcrumb-item :to="'/'">首页</el-breadcrumb-item>
        <el-breadcrumb-item>{{ currentPathName }}</el-breadcrumb-item>
      </el-breadcrumb>
    </div>
    <el-dropdown style="width: 120px; cursor: pointer">
      <div style="display: inline-block">
        <img :src="user.avatarUrl" alt=""
             style="width: 30px; border-radius: 50%; position: relative; top: 10px; right: 5px">
        <span>{{user.nickname}}</span><i class="el-icon-arrow-down" style="margin-left: 5px"></i>
      </div>
      <el-dropdown-menu slot="dropdown" style="width: 100px; text-align: center">
        <el-dropdown-item style="font-size: 14px; padding: 5px 0">
          <router-link style="text-decoration: none; color: #409EFF" to="/person">个人信息</router-link>
        </el-dropdown-item>
        <el-dropdown-item style="font-size: 14px; padding: 5px 0">
          <span style="text-decoration: none" @click="logout">退出登录</span>
        </el-dropdown-item>
      </el-dropdown-menu>
    </el-dropdown>
  </div>
</template>

3.侧边栏 

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

关于侧边栏的样式布局,我们可以在我们的Element-ui官网里面找到具体的例子

vue2 后台框架,前后端分离,框架,vue.js,ui,前端我们可以把代码拿下来,然后按照自己的风格进行改造

<template>
  <el-menu :default-openeds="opens" style="min-height: 100%; overflow-x: hidden"
           background-color="rgb(48, 65, 86)"
           text-color="#fff"
           active-text-color="#ffd04b"
           :collapse-transition="false"
           :collapse="isCollapse"
           router
           @select="handleSelect"
  >
    <div style="height: 60px; line-height: 60px; text-align: center">
      <img src="../assets/images/登录.png" alt="" style="width: 20px; position: relative; top: 5px; margin-right: 5px">
      <b style="color: white" v-show="logoTextShow">后台管理系统</b>
    </div>
    <el-menu-item index="/home">
      <template slot="title">
        <i class="el-icon-house"></i>
        <span slot="title">主页</span>
      </template>
    </el-menu-item>
    <el-submenu index="2">
      <template slot="title">
        <i class="el-icon-menu"></i>
        <span slot="title">系统管理</span>
      </template>
      <el-menu-item index="/user">
        <i class="el-icon-s-custom"></i>
        <span slot="title">用户管理</span>
      </el-menu-item>
    </el-submenu>
  </el-menu>
</template>

4.侧边栏和头部布局

        在进行页面布局之前,我们要对App.Vue进行改造,删除我们App.Vue里面不需要的东西,只显示我们路由里面的内容出来。

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

关于布局,我们的官网里面理所当然的也会给出实例

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

在这里我们选用下图的布局

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

         在我们的Manage.Vue里面写上你所选择的布局方式,然后进行一些细节的处理,就可以拿来用了。vue2 后台框架,前后端分离,框架,vue.js,ui,前端

vue2 后台框架,前后端分离,框架,vue.js,ui,前端  

Manage.Vue

<template>
    <el-container style="min-height: 100vh;">
<!--侧边栏-->
      <el-aside :width="sideWidth + 'px'" style="background-color: rgb(238, 241, 246); box-shadow: 2px 0 6px rgb(0 21 41 / 35% )">
        <Aside :isCollapse="isCollapse" :logoTextShow="logoTextShow" />
      </el-aside>
<!--头部-->
      <el-container>
        <el-header style="border-bottom: 1px solid #ccc;">
          <Header :collapse-btn-class="collapseBtnClass" :asideCollapse="collapse" :user="user" />
        </el-header>

        <el-main>
<!--          表示当前页面的子路由会在<router-view />里面展示-->
          <router-view @refreshUser="getUser" />
        </el-main>
      </el-container>
    </el-container>
</template>

<script>
import Aside from "@/components/Aside";
import Header from "@/components/Header";

export default {
  name: 'Manage',
  data() {
    return {
      collapseBtnClass: 'el-icon-s-fold',
      isCollapse: false,
      sideWidth: 200,
      logoTextShow: true,
      user: {},
    }
  },
  components: {
    Aside,
    Header,
  },
  created() {
    //从后台获取最新的User数据
    this.getUser()
  },
  methods: {
    collapse() {//点击收缩按钮触发
      this.isCollapse = !this.isCollapse
      if (this.isCollapse) {       //收缩
        this.sideWidth = 64
        this.collapseBtnClass = 'el-icon-s-unfold'
        this.logoTextShow = false
      } else {      //展开
        this.sideWidth = 200
        this.collapseBtnClass = 'el-icon-s-fold'
        this.logoTextShow = true
      }
    },
    getUser() {
      let username = localStorage.getItem("user") ? JSON.parse(localStorage.getItem("user")).username : ""
      //从后台获取User数据
      this.request.get("user/username/" + username).then(res => {
        //从新赋值后台的最新User数据
        this.user = res.data
      })
    }
  }
}
</script>
<style>
.headerBg {
  background: antiquewhite!important;
}
</style>

5.使用布局

        我们使用布局要到我们的路由里面去使用,然后我们的children表示我们的子路由,可以理解为侧边栏的功能区域。

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

路由router 

import Vue from 'vue'
import VueRouter from 'vue-router'
import store from "@/store";

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    component: () => import('../views/Manage.vue'),
    redirect: "/home",
    children: [
      { path: 'user', name: '用户管理', component: () => import('../views/User.vue'),},
      { path: 'home', name: '首页', component: () => import('../views/Home.vue'),},
      { path: 'person', name: '个人信息', component: () => import('../views/Person.vue'),},
    ]
  },
  {
    path: '/about',
    name: 'about',
    component: () => import('../views/AboutView.vue')
  },
  {
    path: '/login',
    name: 'login',
    component: () => import('../views/Login.vue')
  },
  {
    path: '/register',
    name: 'Register',
    component: () => import('../views/Register.vue')
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})


export default router

四、效果展示

运行我们的项目,当出现下图的样式的时候,就表示我们后台框架搭建完成了

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

⛵小结 

        以上就是对从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建的概述,之后会陆续更新后面的模块,包括后端代码,带大家手码项目,提升自己的编码能力。 

vue2 后台框架,前后端分离,框架,vue.js,ui,前端

        如果这篇文章有帮助到你,希望可以给作者点个赞👍,创作不易,如果有对后端技术、前端领域感兴趣的,也欢迎关注 ,我将会给你带来巨大的收获与惊喜💝💝💝!文章来源地址https://www.toymoban.com/news/detail-522827.html

到了这里,关于从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何搭建一个基于vue2和element-ui的项目框架模板(两万四千字长文)

    使用vue script标签引入 如果只是单纯的使用vue,可以使用 script src=\\\"https://cdn.jsdelivr.net/npm/vue/dist/vue.js\\\"/script 直接引入 npm安装vue 使用npm安装vue需要先安装node.js,如果你的电脑未安装node,可以参考我的个人碰到的前端问题总结及解决方案2第15个问题先安装nvm(node version manager)

    2024年02月13日
    浏览(54)
  • vue2创建项目的两种方式,配置路由vue-router,引入element-ui

    提示:vue2依赖node版本8.0以上 使用@vue/cli脚手架vue create创建 使用vue-cli脚手架vue init webpack创建 1、查看nodejs版本 2、全局安装vue脚手架和webpack脚手架 3、新建vue2项目 创建选项除了,Install vue-router??选择是,其他选择的否 4、安装依赖并启动文件 5、预览 6、目录结构 1、如果安

    2024年04月14日
    浏览(43)
  • vue后台项目左侧菜单栏配合element-ui中tag标签实现多标签页导航栏

    效果图 第一步:设置左侧菜单栏 左侧菜单栏,左侧菜单我这边自定义写死的数据。 分为有子菜单和没子菜单等情况,我用到的只有俩种,没有三级菜单。 HTML部分

    2024年02月11日
    浏览(49)
  • 黑马程序员课程Vue实战项目_Element-ui——电商后台管理系统-商品管理(商品列表)

    目录 商品列表 一.创建一个子分支 二.创建组件 三.绘制商品列表的页面基本结构 1.面包屑导航  2.卡片视图区域 四.功能 1.搜索  2.删除  3.添加 五.提交代码 git branch——查看当前所在分支 git checkout -b goods_list——创建新的子分支goods_list git branch——查看当前所在分支 git pus

    2024年02月08日
    浏览(56)
  • Vue2.0安装Element-ui

    1.在项目终端输入 如果想知道是否安装成功   2.随后在main.js里引入element组件 然后去使用element   就这样成功了  

    2024年02月16日
    浏览(43)
  • Vue2项目打包时,引入element-ui 配置 CDN 加速时报错 Cannot read properties of undefined (reading ‘prototype‘)

     Vue2项目打包优化时,引入element-ui 配置 CDN 加速时报错出现报错信息:Uncaught TypeError: Cannot read properties of undefined (reading \\\'prototype\\\') 老师说出现这个问题的原因是, 如果你完整引入了 Element,它会为 Vue.prototype 添加如下全局方法:$alert, $promp......     所以,如果想要正常使用

    2024年02月16日
    浏览(52)
  • Vue2 +Element-ui实现前端页面

    以一个简单的前端页面为例。主要是利用vue和element-ui实现。 里面涉及的主要包括:新建vue项目、一行多个输入框、页面实现等。   ①首先安装nodejs,这部分在此就不讲啦。 ②然后安装vue-cli: 查看是否安装成功: 安装成功之后就输出vue的版本 ③在cmd窗口新建一个vue2脚手架

    2024年02月16日
    浏览(45)
  • Vue2 - 引入Element-UI组件样式

    官方文档 https://element.eleme.cn/#/zh-CN/component/installation 推荐使用 npm 的方式安装 ,它能更好地和 webpack 打包工具配合使用。 在终端cd到项目文件夹下安装 也可以通过CDN(不推荐) 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用。

    2024年02月06日
    浏览(63)
  • 【Vue2+Element ui通用后台】菜单权限

    对于菜单权限我们需要解决以下问题: 1、不同的账号登录,有不同的菜单 2、通过输入url地址来显示页面,所以应该根据权限动态注册路由 3、对于菜单数据,在不同页面之间的数据通信 现在项目中的菜单,我们是在 CommenAside 中写死的,现在我们需要根据登录后返回的权限

    2024年02月07日
    浏览(35)
  • vue2+element-ui 实现国际化

    在src目录下创建一个lang文件夹,同时创建zh.js(中文),en.js(英文),ja.js(日文),fr.js(法文)四个语言包js文件,并创建一个index.js文件,用来整合语言包 对于一个项目来说,一个语言包需要包含所有页面以及组件;在语言包以页面为单位,创建一个对象;对公共的title或者按钮名

    2024年02月02日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包