前端开发项目技术总结

前端 vue框架简单学了一遍,也做了demo,主要学了创建项目、路由、状态管理、UI组件库等。

最近在做前端的项目,总结一些开发遇到的问题和解决方案

数据绑定模型

vue框架的标签 :data 和prop标签 data绑定对应的模型,prop是对应模型里面的属性名

image.png

image.png

点击注册在同一个页面内容跳转如何完成的

用一个const isRegister = ref(false) 这个来标识,false显示的是登录表单,true显示注册表单,点击注册的时候,讲这个值修改为true,点击返回将这个值修改为true。这样就可以完成页面的跳转了。
image.png

image.png

通过标签v-if v-else 来控制显示,是作用的el-form上面。 具体的表单属性是el-form-item;image.png
image.png

解决跨域问题

由于浏览器具有同源策略的限制,向不同源发送ajax请求会发生失败,如何解决跨域问题呢?
可以通过配置代理的方式来解决,让前端的请求发送给自己的前端服务,通过修改请求地址比再发送给后端服务,也可以通过nginx服务器来配置代理。
image.png
image.png
如果不填写对应的url,浏览器默认是给当前端口所占用的服务发送请求。
vite.config.js文件中配置代码
image.png

vue组件ref

ref提供了一种访问DOM元素或组件实例的方式,但是如果需要使用ref的值,是需要在对象后面.value才可以使用。
image.png

定义表单校验的规则

element-plus提供的表单校验规则的代码,需要const编写一个rules属性。
required为标签是否需要填写,trigger是标签是如何才能触发的;也可以自定义校验规则,用函数validator来接收,函数有三个参数,rule value callback。 callback是回调。
image.png
使用的时候在表单上面添加 :rules属性 在具体的item上面添加prop属性
image.png

trigger 属性用于指定何时触发某个特定的事件。blur 是一个常见的事件,表示当元素失去焦点时触发。因此,trigger 设置为 blur 的意思是指定在元素失去焦点时触发某个事件。

后端项目部署

项目需要部署到固定的服务器上面,开发好的项目如何进行部署呢?
image.png
windows部署项目
image.png
执行maven packege,编译->测试->打包
image.png

部署项目 首相将项目打包成jar包,采用的是package命令将项目打包,运行Jar包的命令是Java -jar Jar包名称;
服务器必须要有对应的jre环境

布局

image.png
后台管理系统经常采用的是总体的左右进行布局,右边模块,分为上中下布局,最上面可能显示对应的路由或者页面跳转等,中间显示页面的主要信息,下面可能显示版权等内容。

想要切换页面 需要掌握路由功能

路由 是决定从起点到终点的路劲的进程
在前端工程中,路由指的是根据不同的访问路径,展示不同的组件内容
Vue Router是Vue.js的官方路由
image.png
image.png在main.js中导入对应的vue文件;

路由的js文件 1.导入vue-router 2.导入需要路由的组件 3.定义路由关系4.创建路由并且导出

使用路由功能:
image.png

子路由问题:
一级路由和二级路由问题
image.png
给item标签配置子路由

image.png
image.png

使用路由功能首先需要分析有几个等级的路由,画出图像,在路由里面层层去嵌套即可。

跨路由共享信息

由于登录的时候获得了token,下面的请求token是没有共享的,那么如何共享token呢?
image.png

  1. 首先安装 pinia npm install pinia
  2. 在vue中使用应用实列pinia
  3. 在js中定义store
  4. 在组件中使用store

使用流程
image.png
定义token.js
image.png
组件中使用token.js
image.png

pinia持久插件

之前的列表存在bug,pinia默认是内存存储的,刷新浏览器会丢失数据。
persist插件可以讲pinia中的数据持久化的存储起来。

npm install pinia-persistedstate-plugin

image.png
使用的流程image.png
注意是pinia使用这个持久化的插件,并不是vue使用这个插件

未登录的统一操作

对未登录的状态进行统一处理
本项目用到的是相应拦截器来完成未登录的操作,通过配置http response inteceptor,当后端接口返回401 Unauthorized(未授权),让用户重新登录。跳转对应的路由;

image.png

image.png

编辑分类功能编写

image.png
因为添加分类和编辑分类共用的是一个弹窗,如何区别呢?
对弹窗引入一个title属性
image.pngimage.pngimage.png
点击添加分类,title改为添加分类 ,点击修改分类 title 改为修改分类
image.png
在 确定按钮上绑定点击事件,通过title的属性来判断,编写对应的三元组;

此时添加分类和修改共用的是一个数据模型,当点击修改分类的时候,模型绑定的对应的数据,再点击对应的添加分类的时候数据需要清空,编写下面的代码
image.png

删除或者退出的提示框编写

image.png

HTTP delete请求拼接参数

image.png
http请求路径后面包含参数,用?进行拼接。

分页条相关

导入的element-plus组件
image.png
使用中文语言包,分页默认是英文的
image.png

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渴求sspOffer的小周同学

您的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值