当前位置: 首页 > news >正文

深圳网站建设方维网络广州建设

深圳网站建设方维网络,广州建设,阿里云win服务器怎么做网站,wordpress高亮插件第一步编写前端页面#xff0c;第二步搭建后端环境#xff0c;现在开始第三步#xff0c;继续完善前端功能完善“添加”按钮功能Ajax异步请求安装在前端项目安装ajax。在Terminal输入#xff1a;npm i axios -S点击“添加”按钮#xff0c;弹出Dialog对话框设置对话框里面…第一步编写前端页面第二步搭建后端环境现在开始第三步继续完善前端功能完善“添加”按钮功能Ajax异步请求安装在前端项目安装ajax。在Terminal输入npm i axios -S点击“添加”按钮弹出Dialog对话框设置对话框里面的内容——表单对话框选用Dialog嵌入表单menu二者一起构成了新增对话框注意v-model:model变量方法的设置及格式 !--添加对话框--el-dialog text v-modeldialogVisible width30% title提示!--添加表单--el-form :modelfurn label-width120px stylewidth:80%el-form-item label商品名el-input v-modelfurn.name //el-form-itemel-form-item label制造商el-input v-modelfurn.maker //el-form-itemel-form-item label价格el-input v-modelfurn.price //el-form-itemel-form-item label销量el-input v-modelfurn.sales //el-form-itemel-form-item label库存el-input v-modelfurn.stock //el-form-item/el-formtemplate #footerspan classdialog-footerel-button clickdialogVisible false取消/el-buttonel-button typeprimary clickdialogVisible false确定/el-button/span/template/el-dialog创建axios request命名成了myRequest便于区别request// 引入axios import axios from axios; // 通过axios创建对象-request,用于发送请求到后端 const myRequestaxios.create({timeout: 5000 }) // request拦截器处理 myRequest.interceptors.request.use(config{config.headers[Content-Type]application/json;charsetutf-8return config },error {return Promise.reject(error) }) export default myRequest跨域异常AxiosError/跨源修改vue.config.jsmodule.exports {devServer: {port: 10000,proxy:{ //设置代理必填/api:{ //设置拦截器格式/名字target:http://localhost:8080 ,//目标地址就是/api要替换的地址changeOrigin:true, //设置是否同源设为是。实现跨域pathRewrite:{ //路径重写/api: //选择忽略拦截器里面的单词}}}} }HomeView.vue修改ajax的访问url:localhost:8080/save改为。前后端即可通信myRequest.post(/api/save,this.furn).then(显示所有家居信息思路分析完成后台代码从mapper-service-controller,并使用Postman对代码进行测试因为使用搭建的环境mybatis-plus已经完成了mapper\service层直接完成controller即可 RequestMapping(/list)public Result listFurns(){ListFurn furns furnService.list();return Result.success(furns);}完成前台代码使用axios发送http请求返回所有家居数据将数据绑定显示 methods:{list(){myRequest.get(/api/list).then(res{console.log(res,res);this.tableDatares.data.data;})},调用显示数据的方法。VUE生命周期 created(){this.list()},增加 处理响应后的结果主要是练习这种处理方式。这儿的用处不大实际产生的作用就是把response.data的数据层级拿出来了一层,达成下面这个效果this.tableDatares.data.datathis.tableDatares.data;前端HomeView.vue// response拦截器返回结果处理 myRequest.interceptors.response.use(response{let resresponse.dataif(response.config.responseTypeblob){return res;}if(typeof resstring){resres? JSON.parse(res):res}return res; })在save()方法增加list()完成刷新之前在list()方法里面加入了list()导致循环致使view页面不能显示list()方法加在res{}括号里面在页面能立马看到更新效果。原因是Ajax的异步机制Ajax有通讯运行慢{}而括号外的代码在本机执行快就导致list更新在新数据到来之前就执行了导致看不到更新效果。 save(){...this.list() //新增},回显家具信息并完成修改思路分析完成后台代码从mapper-service-controller,并对代码进行测试破案了。updateById()这个方法来自于接口IService它是谁实现的呢它自己接口的默认实现 PutMapping(/update)public Result updateFurn(RequestBody Furn furn){log.info(待修改的furnfurn);furnService.updateById(furn);return Result.success();}完成前台代码回显家居信息[方式1直接将点击的表格当前行的数据进行回显方式2先思考尝试完成根据当前行的id(家居id),到db查询对应的数据进行回显]再使用axios发送http请求更新数据将数据绑定显示获取当前行数据的方法就是在该行ClickhandleEditscope.row,在方法区使用该方法带入参数row即可获取。插槽机制row对象转换成JSON格式的过程JSON.parse(JS0N.stringify(row))就是对行数据进行深拷贝这样点击的表格当前行的数据和弹出框的数据是独立的 handleEdit(row){// 输出原始rowconsole.log(row1,row)// 字符串化rowconsole.log(row2,JSON.stringify(row))// JSON格式rowconsole.log(row3,JSON.parse(JSON.stringify(row)))},回显当前行数据。方式1 methods:{handleEdit(row){this.form JSON.parse(JSON.stringify(row))    //获取当前行数据。并放到表单this.dialogVisibletrue //显示表单},从后端拿到数据再回显。方式2修改当前行数据以及成功状态返回。同样也存在Ajax异步更新list()要放在then()里面save(){if(this.form.id){//此时执行更新myRequest.put(/api/update,this.form).then(res{if(res.code200){//更新成功this.$message({type: success,message: res.msg})}else{//更新失败this.$message({type:error,message:更新数据失败})}this.dialogVisible falsethis.list()})}else{//此时执行添加myRequest.post(/api/save,this.form).then(res{// res就是后端输出给前端的结果console.log(res,res)this.dialogVisible falsethis.list()})}},删除家居项思路分析完成后台代码从mapper-service-controller,并对代码进行测试 DeleteMapping(/del/{id})public Result deleteFurn(PathVariable Integer id){furnService.removeById(id);return Result.success();}完成前台代码使用axios发送http请求删除数据将数据绑定显示注意删除的方法是用confirm在el-popconfirm绑定的而不是在el-button用click。        template #defaultscopeel-button link typeprimary sizesmall clickhandleEdit(scope.row)编辑/el-buttonel-popconfirm title确定删除这条记录? confirmhandleDel(scope.row)template #referenceel-button link typeprimary sizesmall删除/el-button/template/el-popconfirm/templatehandleDel方法的具体实现完成后用list()进行刷新。同样注意位置避免ajax异步导致刷新异常。 handleDel(row){myRequest.delete(/api/del/row.id).then(res{if(res.code200){this.$message({type:success,message:res.msg})}else{this.$message({type:error,message:res.msg})}this.list()})}分页功能需求分析1.显示共多少记录2.可以设置每项显示几条3.点击第几页显示对应数据思路分析1.后台使用MyBatis-plus分页插件完成查询2.修改FurnController,增加处理分页显示代码3.完成前台代码加入分页导航并将分页请求和后台接口结合创建config/MybatisplusConfig.java配置类。配置分页插件 Configuration public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){//需要注入的对象MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();//添加分页插件//设置数据库类型interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;} }增加分页插件的调用处理application.yml配置输出日志。便于调试mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl完成后端分页功能 RequestMapping(/page)public Result page(RequestParam(defaultValue 1) Integer pageNum,RequestParam(defaultValue 5) Integer pageSize){PageFurn furnPage furnService.page(new Page(pageNum, pageSize));return Result.success(furnPage);}增加前端分页控件并在数据池完善参数。 divel-paginationv-model:current-pagecurrentPagev-model:page-sizepageSize:page-sizes[5, 10]layouttotal, sizes, prev, pager, next, jumper:totaltotalCountsize-changehandleSizeChangecurrent-changehandleCurrentChange//div完成控件功能完善分页长度显示指定页码内容的方法。注意方法参数名是自定义的由控件传入 methods:{handleSizeChange(pageSize){this.pageSizepageSizethis.list()},handleCurrentChange(currentPage){this.currentPagecurrentPagethis.list()},采用分页方法显示重写显示列表注意url添加参数的格式。而且参数名需要和后端接收参数名一致。注意返回接收数据时表数据和总条数分别来自于records和total。记不得可以利用console的输出自己手动查询变量名称后完善。list(){// 采用分页方式更新数据列表myRequest.get(/api/page,{params:{pageNum:this.currentPage,pageSize:this.pageSize}}).then(res{console.log(res,res)this.tableDatares.data.recordsthis.totalCountres.data.total})},切换数据源为DruidDataSource检查在pom.xml是否已经配置 dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.17/version/dependency创建配置类完成注入Configuration Slf4j public class DruidDataSourceConfig {BeanConfigurationProperties(spring.datasource)public DataSource dataSource(){DruidDataSource druidDataSource new DruidDataSource();log.info(数据源{},druidDataSource.getClass());return druidDataSource;} }注意ConfigurationProperties(spring.datasource)是已经配置在application.yml的spring:datasource:url: jdbc:mysql://localhost:3306/furn_ssm?useSSLtrueuseUnicodetruecharactorEncodingutf-8password: rootusername: rootdriver-class-name: com.mysql.cj.jdbc.Driver带条件检索的分页显示思路分析完成后台代码从mapper-service-controller,并对代码进行测试构造用的是Wrappers的静态方法而不是new ...带条件的分页查找。page(分页条件queryWrapper) RequestMapping(/search)public Result pageBySearch(RequestParam(defaultValue 1)Integer pageNum,RequestParam(defaultValue 5)Integer pageSize,RequestParam(defaultValue )String search){QueryWrapperFurn queryWrapper Wrappers.query();if(StringUtils.hasText(search)){queryWrapper.like(name,search);}PageFurn furnPage furnService.page(new Page(pageNum, pageSize), queryWrapper);return Result.success(furnPage);}完成前台代码使用axios发送http请求完成带条件查询分页显示前端按键添加响应方法el-button clicklist查询/el-button注意参数的增加 list(){//改用带条件的分页查询myRequest.get(/api/search,{params:{pageNum:this.currentPage,pageSize:this.pageSize,search:this.search}}).then(res{...
http://www.hkea.cn/news/14489080/

相关文章:

  • 娱乐网站建设方案商城网站免费建设
  • 怎么给喜欢的人做网站嘉兴海盐县城乡建设局网站
  • 什么网站专门做软件的网络推广协议合同范本
  • 双鸭山网站建设公司一级造价工程师吧
  • 佛山网站建设的首选公司cms是哪家公司
  • 对于协会的新年祝贺语网站模板wordpress免费相册
  • 如何做游戏试玩网站网站的关键词在哪设置
  • 如何申请建设网站首页360免费wifi下载安装
  • 金华网站设计公司长沙公共资源交易中心官网
  • 网站辅导运营与托管公司海南住房与建设厅网站
  • 服务器搭建网站方案500字施工企业信用评价
  • 企业网站优化暴肃湖南岚鸿很好怎样自做网站
  • 服务机构电子商务网站有哪些云匠网骗设计师入驻费
  • 苏州网站建设n苏州网站建设公司福田欧曼自卸车
  • 深圳网站开发专业团队提高wordpress响应速度慢
  • 网站建设怎么分析市场wordpress 用户权限管理
  • tp5企业网站开发实例免费crm系统手机版
  • 建设部工程造价管理网站制作微网站的平台
  • 如何做网站主题网站设计毕业设计题目
  • 汉语资源建设相关网站网站搜索引擎关键字怎么做
  • 安庆做网站网站代理宁波公司地址
  • 国内免费商用图片的网站网站里可以增加网址吗
  • 青海省建设监理协会网站如何查看网站是谁建设的
  • 大连网站建设流程图网站建设 电商
  • 免费网站模版移动应用开发案例
  • 个人建设网站盈利需要什么材料沧州网站制作教程
  • 网站备案 怎么加asp.net 当前网站
  • 河南信阳网站建设公司电话南京网站开发荐南京乐识
  • 设计网站的步骤有哪些网页搜索栏下面的记录怎么删
  • 凡科免费建站平台网页设计模板代码免费