位置: IT常识 - 正文

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

发布时间:2024-01-17
【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详细总结(小程序微信认证)

  • 小规模纳税人预缴企业所得税
  • 公司旧车出售要交什么税
  • 天然气管道抢维修工作总结
  • 小微企业的资产总额看哪里判断的
  • 车辆租赁发票税点
  • 个税申报了还要扣钱吗
  • 有限合伙企业利润先税后分
  • 个人所得税允许扣除的费用
  • 一般纳税人抵扣小规模期间的专票怎么解决
  • 收到联营单位投入的设备一台
  • 交通违章罚款有优惠吗
  • 无分包声明
  • 贸易公司给客户开发票
  • 利润为负会计分录
  • 劳务费差额征税的账务处理
  • 子公司具有独立的法律地位吗
  • 税务局金四上线
  • 技术调试费用开几个点税
  • 公司员工补充医疗保险方案
  • 盈余积累转增资本的条件
  • 房地产企业收取的诚意金
  • 固定资产计算折旧时用扣除减值吗
  • win10系统怎么设置锁屏壁纸
  • 电子承兑汇票怎么用
  • 拍卖费怎么收
  • w10引导修复工具
  • 公司整体收购协议书范本
  • php实现微信发红包的方法
  • 小企业会计准则适用于哪些企业
  • php 截断
  • 如何修改php.ini
  • 分公司从事研发怎么样
  • yii2 页面底部加载css和js的技巧
  • iis部署javaweb
  • 注意力机制加在CNN的什么位置
  • 资产处置损益算营业外收入吗
  • dns configuration
  • 建行对账单回签平啥意思
  • 失业保险金退回告知书
  • 停车场广告收入需要每年缴纳增值税吗?
  • 一个例子解释唯物辩证法三大规律
  • mongo删除数据库命令
  • 转回存货跌价准备的会计分录
  • 应付职工薪酬期末余额是什么意思
  • 销售费用工资是什么科目
  • 发票收到款项未付做什么凭证编制
  • 个体户核定征收开票额度是多少
  • SQL SERVER中关于exists 和 in的简单分析
  • 产业增加值是增长量吗
  • 金蝶kis云专业版使用教程
  • 小规模纳税人是查账征收还是核定征收
  • 资金紧张怎么说
  • 发生坏账时的分录
  • 发票报销抵扣税点是给谁
  • 消耗性生物资产属于非流动资产吗
  • 弱电系统可以入户门吗
  • 两台电脑如何共享网络
  • win8.1的开始菜单在哪
  • ubuntu安装chia
  • linux里top
  • linux ./ 命令
  • win10app商店
  • notify.exe - notify是什么进程 有什么用
  • windows更新某些设置由你的组织来管理是什么意思
  • windows10x预览版
  • 测试Qt Quick在各个平台上的3D渲染性能
  • 性能优化实验
  • jqueryui dialog
  • nodejs回调函数例子 getdata check
  • javascript word
  • python中函数的功能及作用
  • 异地如何拨打12393
  • 陕西税务平台
  • 广东省电子税务局app下载手机版
  • 房地产预缴土增值税
  • 天津河东区医院地址电话
  • 北京增值税普通发票图片
  • e福州怎么帮家人登记
  • 小店区税务大厅
  • 中国税务局发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号