基于iview的后台管理
年前由于时间紧迫,原本使用iview技术开发后台管理系统的大神另有任务,我中途接手该项目,此前对于iview一无所知的我是一脸的懵逼,好在后台管理的整体框架大神已经搭建好了,而我之前对vue也有一定的了解,因此我只需要写一些页面以及数据的对接等。
中间踩过许多坑,遇到许多不接,最后在多番查询资料以及大神的指导下,最后总算完成了这项艰巨的任务,在这段时间里,我也学到了许多东西。这里抽空整理一下。
既然是写后台管理,那么首先要做的应该是环境的搭建,由于搭建环境中需要用到npm包管理工具,因此需要安装nodejs(可以去 nodejs官网 下载)。
预览下项目最终文件夹:

最终效果: 
1、全局安装vue-cli脚手架
npm install -g vue-cli
2、创建一个基于webpack模版的新项目。如:
vue init webpack my-project (其中,my-project为项目名)
3、打开项目,这里以my-project为例
cd my-project
4、安装项目相关依赖包(也可以使用cnpm来安装,速度更快,执行npm install -g cnpm --registry=https://registry.npm.taobao.org,然后就可以使用cnpm来替代npm了)。
npm install
执行完以上步骤,项目大致文件夹如下:

5、安装iview
npm install iview --save
6、在src/main.js文件中引入iview,引入后的main.js文件代码如下(红色部分为新加的部分):
import Vue from 'vue'
import App from './App'
import router from './router'
import iView from 'iview'
import 'iview/dist/styles/iview.css' // 使用 CSS Vue.config.productionTip = false
Vue.use(iView) // 必不可少的
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
7、安装vuex。
由于应用中会遇到多个组件共享状态的情况,因此我们需要把组件的共享状态抽取出来,以一个全局单例模式管理,这时候就需要vuex了,说了这么多,那么什么是vuex呢?vuex是一个专门为vue.js设计的集中式状态管理架构,可以理解为在data中的属性需要共享给其他vue组件使用的部分 。简单的说就是data中需要共用的属性。
npm install vuex --save (因为在生产环境中也要用到该包,所以--save别忘了)
8、在src文件夹下新建store文件夹,并在新建文件夹下创建store.js文件,在文件中引入vue和vuex
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
9、在iview中切换页面需要使用到路由,因此需要在src => router => index.js 中配置相关页面的路由,这里以上面最终的实现效果为例来进行配置
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import novelList from '@/components/novelList'
import hello from '@/components/hello' Vue.use(Router) export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld,
children: [
{
path: '/hello',
name: 'hello',
component: hello
}, {
path: '/novelList',
name: 'novelList',
component: novelList
}
]
}
]
})
10、src/store/store.js文件配置如下:
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
menus: [
{
'menuId': '1',
'name': 'welcome',
'subMenus': [
{
'menuId': '1-1',
'name': '欢迎',
'menuUrl': 'Hello'
}
]
},
{
'menuId': '2',
'name': '小说管理',
'subMenus': [
{
'menuId': '2-1',
'name': '小说列表',
'menuUrl': 'novelList'
}
]
}
]
}
});
11、 修改main.js文件,修改后如下(红色部分为新加的):
import Vue from 'vue'
import App from './App'
import router from './router'
import iView from 'iview'
import 'iview/dist/styles/iview.css' // 使用 CSS
import store from './store/store' Vue.config.productionTip = false
Vue.use(iView) // 必不可少的
new Vue({
el: '#app',
store,
router,
components: { App },
template: '<App/>'
})
12、别忘了新建HelloWorld.vue、hello.vue、novelList.vue文件。
最后就可以执行npm run dev,然后在浏览器中输入http://localhost:808来运行项目了,端口号默认为8080,可以在config文件夹下的index.js文件中修改端口号和ip

基于iview的后台管理的更多相关文章
- Vue Admin - 基于 Vue & Bulma 后台管理面板
Vue Admin 是一个基于 Vue 2.0 & Bulma 0.3 的后台管理面板(管理系统),相当于是 Vue 版本的 Bootstrap 管理系统,提供了一组通用的后台界面 UI 和组 ...
- Python实例---基于页面的后台管理[简单版]
后台管理菜单 + 母板[css/content/js] 向后台提交数据[2种]: 1. 模态对话框(数据少操作,且Js复杂): form表单 :优点:简单,前端提交后后台处 ...
- 基于SpringBoot+SpringDataJpa后台管理
昨天朋友找我喝酒,说30岁了,比较焦虑,钱没赚到,整天被媳妇数落. 其实现在我们看到的不一定就事真实的情况,就算从高斯分布看,平平淡淡的人生才是大部分人的轨迹.当然抖音.知乎上的不能比,人均收入百万, ...
- 基于vite2+electron12后台管理模板|Electron后台框架系统
前一溜时间有给大家分享一个 electron+vite跨端短视频 项目.这次分享的是vite2.x和electron实现跨平台后台框架,支持国际化多语言配置.导航菜单+树形菜单两种路由菜单模式.展开/ ...
- 基于 Blazui 的 Blazor 后台管理模板 BlazAdmin 正式尝鲜
简介 BlazAdmin 是一个基于Blazui的后台管理模板,无JS,无TS,非 Silverlight,非 WebForm,一个标签即可使用. 我将在下一篇文章讨论 Blazor 服务器端渲染与客 ...
- 【tornado】系列项目(二)基于领域驱动模型的区域后台管理+前端easyui实现
本项目是一个系列项目,最终的目的是开发出一个类似京东商城的网站.本文主要介绍后台管理中的区域管理,以及前端基于easyui插件的使用.本次增删改查因数据量少,因此采用模态对话框方式进行,关于数据量大采 ...
- Metronic – 超赞!基于 Bootstrap 的响应式后台管理模板
Metronic 是一套精美的响应式后台管理模板,基于强大的 Twitter Bootstrap 框架实现.Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,76 个模板页 ...
- 基于 Bootstrap 的响应式后台管理面板
你想建立一个后台管理面板或者分析仪表板吗?不需从头开始,Keen IO Bootstrap 是一个响应式的仪表盘模板,可以帮助你在几分钟内呈现数据,让你可以创建一个有吸引力的,定制的分析仪表板,随时可 ...
- 后台管理-基于 Bootstrap 开发的网站后台管理面板
Bootstrap 开发框架真的很强大,今天推荐几个非常不错的基于 Bootstrap 开发的网站后台管理面板,全部都是响应式布局,细节做得都很不错.可以搜索keenthemes. Metronic ...
随机推荐
- 将excel的数据导入到数据库后都乱码了是怎么回事
将excel内容首先保存成csv格式,然后在MySQL数据库中导入,结果汉字出现了乱码. 解决过程: 1.csv文件以txt形式打开,另存为,选择utf-8编码. 2.数据库,设置,collation ...
- keras环境
Windows 7 python3.6 在安装 Keras 之前, 需要确认自己已经安装好了 Numpy 和 Scipy. 安装个anaconda3就可以搞定 因为 Keras 是基于 Tensorf ...
- 牛客训练二:处女座的签到题(STL+精度+三角形求面积公式)
题目链接:传送门 知识点: (1)三个点,三角形求面积公式 (2)精度问题: double 15-16位(参考文章) float 6-7位 long long 约20位 int 约10位 unsign ...
- Tomcat架构解析(四)-----Coyote、HTTP、AJP、HTTP2等协议
Connector是Tomcat中非常重要的一个组成部分,说白了,就是如何从客户端获取到相应的请求信息.这部分主要包括的难点有这样几个部分: 1.客户端与服务端的协议 客户端与服务端的协议是多种多样的 ...
- HDU 4310 Hero (贪心)
题意:给定你有 n 个敌人,你的伤害是 1,给出每个敌人的伤害,和敌人的血量,每一回合你可以攻击一个敌人,并且所有敌人都会攻击你,除非它已经死了,问你最少要多少要消耗多少血量. 析:一个很明显的贪心问 ...
- highChart图表
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...
- js实现锚点定位
js实现锚点定位的原理是,算出定位的标签距离顶部的高度,点击触发标签,重新赋值滚动条的高度到达指定位置. <!DOCTYPE html> <html> <head> ...
- 2.2.5synchronized代码间的同步性
package com.cky.bean; /** * Created by chenkaiyang on 2017/12/6. */ public class ObjectService { pub ...
- Java Map释放内存置null以及调用clear()的区别
今天自己在总结map的时候,想到了在释放Map对象空间的时候就有使用过将Map对象置null,也有时候会调用clear()将Map中的数据清除,那么它们都有什么区别呢? Map<Integer, ...
- JBoss 系列四十九:JBoss 7/WildFly 中端口使用列表
JBoss 7中端口使用列表 JBoss 7中所有配置都在一个文件中(standaone*.xml, domain.xml),和之前的JBoss相比JBoss 7用到的端口变少,我们将以表格的形式列出 ...