多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# iview-admin简介 iview-admin是iview生态圈的成员之一。是一套基于 Vue.js,搭配ivew UI([https://www.iviewui.com/](https://www.iviewui.com/)) 组件库形成的后台集成解决方案。 # 环境 Windows+Node.js +git # 项目启动 ## 下载代码 在GitHub上下载iview-admin代码 git clone https://github.com/iview/iview-admin.git -b 2.0 ![](https://img.kancloud.cn/86/f2/86f2c47c9a98231f6ec75ee9e73b2373_491x130.png) ## 安装依赖 找到文件所在位置 ![](https://img.kancloud.cn/e1/25/e125ae3058b465c0e551c3796f508a07_532x150.png) 进入项目根目录 cd iview-admin 安装依赖 npm install ## 运行项目 运行项目 npm run dev 项目运行完成浏览器会自动打开网页,进入登录页面。如图 ![](https://img.kancloud.cn/ee/45/ee45b9729e0fd4c3dfae536f4725de95_1268x587.png) # 目录结构 ![](https://img.kancloud.cn/9a/9c/9a9c8c0c0e1716bbd6920c02dfe24162_520x312.png) 项目运行成功,我们可以添加自己的模块,下面我们进行如下操作,新建页面、配置路由。 # 新建页面(以行李查询为例) ## 说明: 在index.html处有个id="app"的div,在App.vue中也有一个id="app" 的div。页面渲染的就是这个组件。 ![](https://img.kancloud.cn/37/0b/370b960eea55c0af053da5a350a49ec3_918x576.png) 在App.vue中有个router-view标签,默认在这渲染当路由为"/"指向的组件,所以要设置路由。 ![](https://img.kancloud.cn/9c/12/9c1229ba90146b2be5a5531ec74352e1_694x203.png) ## 步骤 ### 在src/views下面新建文件夹luggage ### 在luggage文件夹下新建luggage.vue luggage.js 和 luggage.css 文件 ![](https://img.kancloud.cn/70/c8/70c856cc4b8518f016089d6ae8b9e554_431x270.png) 这里我们就创建好了一个组件即新的页面。它的页面路径为 src/views/luggage。这个路径将在后面的路由配置中用到。要想在浏览器上展示,接下来我们就要进行路由的配置 # 路由配置 说明:首先我们要看vue-router插件是否下载(一般项目npm install的时候会自动下载vue-router插件) ![](https://img.kancloud.cn/c2/7c/c27c9bb0a4a11fe17891eaab022393b2_1086x417.png) 如果没有下载,用下面的命令进行下载 npm install --save vue-router 之后在src/router/index下看有没有引入路由 ![](https://img.kancloud.cn/cc/2b/cc2bbb409e22cd2e206efc4aea521af9_913x382.png) ## 引入成功,开始使用插件 ![](https://img.kancloud.cn/39/44/3944e470954fb50994c0311ada8595bb_942x400.png) ## 生成router实例 ![](https://img.kancloud.cn/84/83/8483f3793175d9844c5ccecd8efb69e6_958x444.png) 这里的routers是从同级目录下的routers.js引入的。routers.js这个文件是定义路由的文件。下面以行李查询为例进行定义路由 ![](https://img.kancloud.cn/a8/87/a887ea729c7ae54a2971e64e29b780ea_922x521.png) 这是上面新建的页面路径我们已经配置到了路由里面,vue会自动匹配改视图在页面做出响应。 这里定义了路由,同时要在zh-CN.js下面配置菜单的中文title ![](https://img.kancloud.cn/7e/65/7e6538db47ceae4133222934ce2d3f44_1246x552.png) ## 在src/main.js中把路由实例传给vue根组件 ![](https://img.kancloud.cn/4c/3a/4c3ab392902183e1c329ecc7eca03f48_720x510.png) 这样应用就启动了。在左侧菜单就形成了我们配置的路由 ![](https://img.kancloud.cn/dd/df/dddf3465e69272397add81a53af2cec5_1366x628.png) # 配置页面详解 在结构层进行页面布局,在行为层进行数据渲染 ## 页面布局使用iview插件 同路由一样。我们要先看是否下载iview插件 ![](https://img.kancloud.cn/fa/5e/fa5e3ff7a15b7572f3566642fafb9c25_743x465.png) 要是没有下载,用如下命令进行下载 npm install iview@1.0.1 --save 下载之后,在src/main.js引入iview插件 ![](https://img.kancloud.cn/14/f7/14f74bff2585a3fd4ab305535301845f_1067x493.png) 引入成功之后,我们就可在任意页面使用iview插件组件。组件的引用具体看文档 [http://v1.iviewui.com/](http://v1.iviewui.com/) 下面我们做一个行李查询项目,包括旅客列表,旅客关联的行程、行李信息 这些页面展示都放在结构层,<template></template>标签里面。注:此标签下面紧接着是一个div标签,如图 ![](https://img.kancloud.cn/b3/ab/b3ab7143e143bf084f910a616c4365d1_876x461.png) 这个功能,页面整体有三部分。条件查询表单、旅客列表表格、旅客关联抽屉。用到的iview组件有form表单、table表格、drawer抽屉。具体参数配置看iview文档 ![](https://img.kancloud.cn/d0/95/d0950d83b045ba5d8319ea73cc625cda_1059x529.png) 页面效果如图 ![](https://img.kancloud.cn/a9/96/a99652ab8c6a2a1a1ee2994e825b6a26_1361x550.png) 下面以table表格为例。展示页面与后台交互,首先我们要在vue文件中引入js文件 ![](https://img.kancloud.cn/87/1c/871cccfb1e5bcc5a91d67e5f68d0373c_1124x546.png) ## 页面布局 直接引用iview的table组件 ![](https://img.kancloud.cn/97/db/97dba96d3c0defc4121a2fbd3436e3fe_1144x489.png) 我们看一下iview的table组件的参数配置 ![](https://img.kancloud.cn/06/6e/066e7e7ed5f4785aaaadd69d0b43bb72_935x212.png) ## 初始化数据 ![](https://img.kancloud.cn/71/d4/71d4bbc8a52b267e6318d4600283021a_548x303.png) ![](https://img.kancloud.cn/1c/26/1c263f5280d4578fe631cfe31faba84a_613x596.png) ## 行为层数据获取 ### 配置请求链接 ![](https://img.kancloud.cn/ac/e8/ace808bbf38469bcfb00015b485de3be_1297x563.png) 配置完成之后。我们将方法暴露出来。方便给组件引用 ![](https://img.kancloud.cn/c9/cf/c9cf3e80ac7e7b7ab4a1fc0b58b4c9c2_871x227.png) ### 在页面js文件中引入接口方法 ![](https://img.kancloud.cn/5a/80/5a8032f8000a9c4e69128b77f0bdaa3d_1109x380.png) ### 方法中调用接口 ![](https://img.kancloud.cn/02/28/02287c345ad1cb1ab9e28aa6162999e1_725x413.png) ### 数据赋值 此时将调用后端返回的数组数据赋值给了table表格的data数组 ![](https://img.kancloud.cn/0f/93/0f93c54d3b525c27e750fd2b990314d0_596x249.png) 页面刚开始加载就要将数据渲染出来,所以要在mounted钩子函数中调用获取旅客列表函数 ![](https://img.kancloud.cn/7b/a8/7ba869a61c258324ac02262e77473238_1048x574.png) 这时页面里面的表格就渲染出来了 ![](https://img.kancloud.cn/28/af/28afa7787fa30819cf711a20380e9580_1340x407.png)