位置: IT常识 - 正文

【Vue+element-ui搭建前端页面】适用于初学者学习(vue+element-ui项目)

编辑:rootadmin
【Vue+element-ui搭建前端页面】适用于初学者学习

推荐整理分享【Vue+element-ui搭建前端页面】适用于初学者学习(vue+element-ui项目),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue element ui教程,element-ui vue3.0,elementui基于vue,element-ui vue3.0,vue+element-ui项目,element ui vue3,vue+element-ui项目,vue+element-ui项目,内容如对您有帮助,希望把文章链接给更多的朋友!

作者有话说:

       学习编程我们必不可少的就是做项目,在学习后端的同时,前端知识也是要学习滴,这篇文章将展示如何利用Vue和element-ui搭建前端界面。话不多说,进入主题!!!

目录

首先是Vue-CLI搭建

Vue安装

启动

ElementUI安装

Vue-router安装和搭建(组件路由)

搭建步骤

网络请求

Axios是什么?

Axios特性

axios和ajax区别?

网络请求中一些语法:

发送请求:

axios 的常用 API:

axios 的响应结果

同样我们要添加axios相应拦截 

总结

首先是Vue-CLI搭建

        我们之前写前端代码的时候,是将代码直接写在一个html文件当中,但是一个完整的项目,有许多模块和组件,我们不可能弄一堆html文件去运行,这样不仅繁琐而且代码量极大,这个时候我就要向你们介绍一个功能特别强大的法宝---前端主流框架Vue,Vue采用了MVVM模式,虚拟dom,diff算法,数据双向绑定,提供响应式和组件化的视图组件以及更高的运行效率。Vue.js 是前端的主流框架之一,和 Angular.js、React.js 一起,并成为前端三大主流框架!

      为什么我们选择Vue而不是其他的框架呢,原因就在下面啦!

体积小,压缩之后只有33k;有更高的运行效率;基于虚拟DOM,一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化的技术,由于这种DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM;双向数据绑定,简化 Dom 操作 通过 MVVM 思想实现数据的双向绑定,让开发者不用再操作 dom 对象, 把更多的精力投入到业务逻辑上;生态丰富、学习成本低:市场上拥有大量成熟、稳定的基于vue.js的ui框架及组件,拿来即用实现快速开发。Vue安装

讲完Vue的好处,接下来说说怎么安装使用Vue!

方法一:就是直接用<script导入>

   我们先下载Vue.js文件,然后导入这个js文件。

1.下载之后放到js目录里面

2.然后像如图所示这样导入

 方法二:我们可以通过HBuilder直接搭建一个Vue-cli项目

作者用的是HBuilderX,以HBuilderX为例;

需要注意的是,在创建之前,我们需要以管理员身份运行HBuilderX,如图所示,点击创建,我们稍等一会,项目初步就创建好了。

启动

项目创建好,怎么运行呢,下面展示两种方法;

第一种:如图选中项目,点击标记位置输入命令npm run serve

npm 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。npm 是 JavaScript 的包管理工具,也是世界上最大的软件注册表。有超过 60 万个 JavaScript 代码包可供下载,每周下载约 30 亿次。npm 让 JavaScript 开发人员可以轻松地使用其他开发人员共享的代码。

 

第二种:选中之后,如图点击

 启动成功后,会出现访问项目的地址如图:

停止服务:在命令行中ctrl c 即可停止服务 

ElementUI安装

       安装element-ui,作者推荐在命令行输入指令来下载安装,因为它能更好地和 webpack 打包工具配合使用。指令:npm i element-ui -S

然后在main.js中写入以下内容:

import Vue from 'vue';

import ElementUI from 'element-ui';

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

import App from './App.vue';

Vue.use(ElementUI);

new Vue({

el: '#app',

render: h => h(App)

});

关于element详细使用,作者建议大家查阅element官方API,简单易懂,容易上手

地址:组件 | Elementhttps://element.eleme.cn/#/zh-CN/component/quickstart

Vue-router安装和搭建(组件路由)

vue-router是一个插件包,我们可以在命令行输入指定命令来下载:

    如上,与上面所说项目第一种启动方式相似,只不过我们不用先输入npm run serve,而是直接输入命令npm i vue-router@3.5.3,然后插件包就会自动下载,我们需要稍等一会,下载成功后配置路由即可。

搭建步骤

1.  首先在src里面创建一个名字叫router的目录,在router目录里面创建一个index.js文件

2.  在index.js中配置路由

import Vue from 'vue'; //导入vueimport router from 'vue-router'; /* 导入路由 */import Login from '../Login.vue'; /* 导入其他组件 */import Main from '../Main.vue';Vue.use(router)/* 定义组件路由 */var rout = new router({routes: [{path: '/', //ip:端口访问时 默认显示组件component: Login},{path: '/login', //组件地址component: Login},{path: '/main',component: Main}]});

3.   在main.js中配置路由

//导入路由组件import router from './router/index.js'Vue.use(router)new Vue({render: h => h(App),router,}).$mount('#app')

 4.   配置路由导航守卫,并导出路由对象

        在index.js中为路由对象添加 beforeBach 导航守卫 to-将要访问的页面地址,from-从哪个页面访问的,next-放行函数

rout.beforeEach((to, from, next) => {if (to.path == '/login') {//如果用户访问的登录页, 直接放行return next();} else {var token = sessionStorage.getItem("account");if (token == null) {return next("/login");} else {return next();}}})//导出路由对象export default rout;

5.  路由嵌套

    通俗的说一下:

            路由嵌套可以让我们前端只展示一个页面, 那我们怎么显示其他页面呢,毕竟作为一个项目,功能肯定不止一个,所以就用到了这儿说的路由嵌套,就是在主界面Main里面规定一块区域来显示本属于其他页面的内容,这样我们前端页面就不用跳来跳去,影响客户体验度。

【Vue+element-ui搭建前端页面】适用于初学者学习(vue+element-ui项目)

 路由嵌套怎么使用呢?

如上图在Main.vue里面,在index里面输入嵌套的地址,在el-main里面配置路由嵌套界面,接下来在index.js中导入相关组件如下图,在Main下面的children里面配置嵌套的地址,上图中el-标签是我们使用了element-ui框架 。想学习更多的知识,大家可以在浏览器查找官方API,很容易上手

然后:

修改App.Vue为下面内容,路由嵌套显示多个不同组件

<template><div id="app"><!-- router-view就是用来显示不同组件的 --><router-view></router-view></div></template><script>export default {name: 'app',}</script><style>#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;}</style>

配置还没结束,我们接着往下看

网络请求

我们可以在前端发送异步请求来解决跨域问题,我们学习到了Ajax,那什么是Ajax呢?

Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML), 使用 Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了 用户体验; Ajax其实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest) 异步地向服务器发送请求,服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新, 整个过程,页面无刷新,不打断用户的操作。

说到Ajax,这里给读者科普一个新知识Axios

Axios是什么?

Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求。说到get、post,大家应该第一时间想到的就是Jquery吧,毕竟前几年Jquery比较火的时候,大家都在用他。但是由于Vue、React等框架的出现,Jquery也不是那么吃香了。也正是Vue、React等框架的出现,促使了Axios轻量级库的出现,因为Vue等,不需要操作Dom,所以不需要引入Jquery.js了。

Axios特性

1、可以在浏览器中发送 XMLHttpRequests 2、可以在 node.js 发送 http 请求 3、支持 Promise API 4、拦截请求和响应 5、转换请求数据和响应数据 6、能够取消请求 7、自动转换 JSON 数据 8、客户端支持保护安全免受 XSRF 攻击

那Ajax和Axios啥关系呀!!!

axios和ajax区别? axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。简单来说: ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。axios是ajax但ajax不止axios。

这些是前端问题,所以我们自然要了解怎么在前端安装Axios

老办法  命令行输入:npm install axios

下载安装好 我们需要在main.js中配置axios;

//导入axiosimport axios from 'axios';axios.defaults.baseURL="http://127.0.0.1:8080/dormms/";Vue.prototype.$http=axios;//

 这儿的URLl连接的是后端服务器,作者使用的Tomcat,没有使用云服务器,所以地址是本机地址

网络请求中一些语法:发送请求:

使用 get 或 post 方法即可发送对应的请求 then 方法中的回调函数会在请求成功或失败时触发通过回调函数的形参可以获取响应内容,或错误信息。

axios 的常用 API:

get:查询数据

post 添加数据

put:修改数据

delete:删除数据

axios 的响应结果

响应结果的主要属性

data:实际响应回来的数据

headers:响应头信息

status:响应状态码

statusText:响应状态信息

// 响应结果格式axios.get('/user/12345').then(function(response) {console.log(response.data);//后端返回数据,默认为json格式console.log(response.status);console.log(response.statusText);console.log(response.headers);console.log(response.config);});

 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

数据在键值对中数据由逗号分隔大括号保存对象方括号保存数组

语法: JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值: {"firstName": "John"} {“name”:”value”,”sex”:”男”}

同样我们要添加axios相应拦截 (在main.js中)

//axios 请求拦截

axios.interceptors.request.use(config =>{

//为请求头对象,添加 Token 验证的 token 字段

config.headers.token = window.sessionStorage.getItem('token');

return config; })

// 添加响应拦截器

axios.interceptors.response.use((resp) =>{

//正常响应拦截

if(resp.data.code==500){

ElementUI.Message({message:resp.data.message,type:"error"})

}

if(resp.data==201){

router.replace("/login");

}

return resp; });

这儿大家肯定会发现又出现了一个新知识Token 

在会话跟踪这块,JWT-Json web token,一种基于JSON的开放标准。

优点:简洁,可以携带用户信息,可以加密,不需要再服务器存储,节省空间。

       前端向后端发送请求同时验证身份,身份验证成功,后端就会向前端发出回应,包括状态码,数据信息和token,之后前端在浏览器中存储token信息,之后,如果客户端访问需要登录状态标识的接口时,会拿到客户端存储的token,放在请求头中,服务器拿到之后会判断是否过期或者是否错误,返回对应的状态码,如果验证正确就可正常返回请求的数据,验证错误则需要重新登录。

总结

        到这儿我们就学习到怎么用Vue和Element搭建前端界面,并且了解了一些前端向后端发送接收请求需要的技术,希望大家看到这会有所收获!有疑问可以私信作者,看到消息作者就会回复滴~

本文链接地址:https://www.jiuchutong.com/zhishi/300459.html 转载请保留说明!

上一篇:基于VGGNet乳腺超声图像数据集分析

下一篇:【小程序】微信小程序自定义组件Component详细总结(小程序微信认证)

  • 解析网络推广公司的收费问题(网络推广的平台)

    解析网络推广公司的收费问题(网络推广的平台)

  • oppo健康使用手机在哪里打开(OPPO健康使用手机)

    oppo健康使用手机在哪里打开(OPPO健康使用手机)

  • 华为mate30pro升级后耗电快怎么回事(华为mate30pro升级内存有必要吗)

    华为mate30pro升级后耗电快怎么回事(华为mate30pro升级内存有必要吗)

  • 荣耀9x的开机键在哪里(荣耀9开机键坏了怎么开机)

    荣耀9x的开机键在哪里(荣耀9开机键坏了怎么开机)

  • 哔哩哔哩不能下载视频吗

    哔哩哔哩不能下载视频吗

  • wifi突然断网怎么回事(wifi突然断网怎么找到断网时间)

    wifi突然断网怎么回事(wifi突然断网怎么找到断网时间)

  • 微信翻译朋友圈能看到吗(wechat 朋友圈的翻译)

    微信翻译朋友圈能看到吗(wechat 朋友圈的翻译)

  • 电脑上ctrl是什么意思(电脑上的ctrl键有什么用)

    电脑上ctrl是什么意思(电脑上的ctrl键有什么用)

  • 拼多多互助上限了怎么办(拼多多互助上限了别人还能帮我吗)

    拼多多互助上限了怎么办(拼多多互助上限了别人还能帮我吗)

  • 魅族17有几个版本(魅族17有几个版本的手机)

    魅族17有几个版本(魅族17有几个版本的手机)

  • 8p屏幕失灵怎么关机(8p屏幕不灵解决方案)

    8p屏幕失灵怎么关机(8p屏幕不灵解决方案)

  • 电脑周边产品有哪些(电脑周边产品有哪些公司)

    电脑周边产品有哪些(电脑周边产品有哪些公司)

  • 抖音删除作品赞还在吗(抖音删除作品赞还会在主页显示吗)

    抖音删除作品赞还在吗(抖音删除作品赞还会在主页显示吗)

  • 快手播放次数怎么算(快手播放次数怎么打开)

    快手播放次数怎么算(快手播放次数怎么打开)

  • 手机保存图片显示成功了为什么相册里没有(手机保存图片显示无权限怎么办)

    手机保存图片显示成功了为什么相册里没有(手机保存图片显示无权限怎么办)

  • 为什么200m的宽带网速测下来只有100m(为什么200m的宽带网速测下来只有20m)

    为什么200m的宽带网速测下来只有100m(为什么200m的宽带网速测下来只有20m)

  • 华为平板卡顿反应慢怎么办(华为平板卡顿反应慢可以刷机吗)

    华为平板卡顿反应慢怎么办(华为平板卡顿反应慢可以刷机吗)

  • 去哪余额在哪里(去哪儿app余额在哪里看)

    去哪余额在哪里(去哪儿app余额在哪里看)

  • 如何关闭微信流量提醒(如何关闭微信流量月包)

    如何关闭微信流量提醒(如何关闭微信流量月包)

  • 苹果x接电话对方听不见(苹果x接电话是什么样子的)

    苹果x接电话对方听不见(苹果x接电话是什么样子的)

  • 苹果8p怎么给软件加锁(苹果8p怎么给软件设密码)

    苹果8p怎么给软件加锁(苹果8p怎么给软件设密码)

  • 多多果园如何抽中化肥(多多果园天天抽奖奖励在哪里)

    多多果园如何抽中化肥(多多果园天天抽奖奖励在哪里)

  • 鸿蒙系统怎么快速删除相册中相似照片? 鸿蒙快速找出相似照片的技巧(鸿蒙系统怎么快速充电)

    鸿蒙系统怎么快速删除相册中相似照片? 鸿蒙快速找出相似照片的技巧(鸿蒙系统怎么快速充电)

  • F12-开发者工具常用操作与使用说明之网络network(f12开发者工具调试打不开)

    F12-开发者工具常用操作与使用说明之网络network(f12开发者工具调试打不开)

  • Vue3创建项目(四)main.js配置,避坑指南(vuecli3创建项目的过程)

    Vue3创建项目(四)main.js配置,避坑指南(vuecli3创建项目的过程)

  • 一般纳税人和小规模纳税人哪个合适
  • 报税申报不了
  • 实验用品包括实验仪器吗
  • 住宿报销是开普票还是专票
  • 做网站的费用会计分录
  • 发票分开开票
  • 工业企业员工工资占收入比例
  • 滞纳金可以个人承担吗
  • 增值税采用零税率政策的内容
  • 固定资产报废的账务处理例题
  • 支付的劳务派遣费计入什么科目里
  • 财务报表层次重大错报风险增大了认定层次
  • 外币账户的银行信息在哪查询
  • 增值税普票收款人
  • 普通增值税 税点
  • 分工分类法
  • 双倍余额折旧法
  • 速达财务软件使用说明
  • 公司车辆可以一年一检吗
  • 纯粮食白酒广告语
  • 财政收支结余
  • 联想笔记本bios密码忘记了
  • linux -pv
  • mac怎么连接蓝牙鼠标
  • PHP mysql_result()函数使用方法
  • 应收账款未计提坏账能直接核销
  • 科普笔记本电脑怎样
  • linux常见的文本编辑工具有哪些
  • php axios
  • lcasensor是什么进程
  • 电脑前面板耳机没声音怎么设置bios
  • 预提的奖金需要缴纳个人所得税吗
  • 没有发票的成本怎么算
  • 长期借款利息调整会计分录
  • 房地产预缴所得税怎么算
  • 对方代垫保险费算不算入账价值
  • mongodb快速入门
  • java--IO流 ☞ 字节流
  • 企业建造的厂房属于固定成本吗
  • 出租车发票上没有税务局的印章能报销么
  • 收到政府扶贫款如何做分录
  • 物业公司的会计好干吗
  • 合伙企业费用汇总表
  • 房屋如何计提折旧费
  • 销售商品的运费的税费计入进项税额
  • 商品损耗率一般是多少
  • 建设期利息有哪些
  • 奖励员工购物卡怎么写
  • 临时账户名称是什么意思
  • 单位统一订员工餐
  • 加计扣除所得税申报表怎么填写
  • 宣传费抵扣
  • 普通发票作废影响额度吗
  • 税控盘服务费抵扣
  • 建筑业营改增后,人工费不存在可抵扣
  • 发票作废才能验旧吗
  • 食堂计入公务接待费
  • 总分类账户和明细分类账户平行登记的要点包括
  • 资本和资产的区别举例说明
  • friend怎么用
  • Win2008 R2 mysql 5.5 zip格式mysql 安装与配置
  • ubuntu gnome3
  • centos7关闭kdump
  • centos dvd安装
  • windows下键盘不能用
  • linux解压操作
  • win7如何设置计算机自动开机
  • 在linux操作系统中,/etc/rc.d/init.d
  • 解决安装后软件icon一圈白边问题
  • linux安装docker-compose
  • cocos2dx官方教程
  • dos删除文件夹下所有文件 不删除父目录
  • jquery理解
  • python re模块findall
  • 四川国税网上申报
  • 卫生志愿服务活动
  • 中国移动的电子协议推送服务是什么
  • 从哪里可以免费听歌
  • 广东省国税局局长潘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设