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

介绍化工项目建设和招聘的网站安卓在线视频嗅探app

介绍化工项目建设和招聘的网站,安卓在线视频嗅探app,建站平台wp,湖南seo推广公司文章目录前言一、问题描述二、问题解决前言 在写毕业设计,涉及了一些前端Vue.js的组件传值知识并出现了相关问题,因此进行记录。 问题 Vue.js的使用不熟练,相关组件、props等掌握不清晰前端代码书写不规范 望指正! 一、问题描述 …

文章目录

  • 前言
  • 一、问题描述
  • 二、问题解决


前言

在写毕业设计,涉及了一些前端Vue.js的组件传值知识并出现了相关问题,因此进行记录。

问题

  1. Vue.js的使用不熟练,相关组件、props等掌握不清晰
  2. 前端代码书写不规范

望指正!


一、问题描述

想要搭建一个模型检验的页面,在点击按钮“开始检测”后,后端会获取相应数据、页面跳转并进行渲染。
主要涉及三个页面:index.vue、BorderCard.vue、CardResult.vue,如图1:
在这里插入图片描述
index.vue想要引入“步骤条”实现两个组件的切换效果,如图2:
在这里插入图片描述

index.vue中引入两个组件的部分:

<border-card v-show="active === 0" :tab-index="active"/>
<card-result v-show="active === 1" />

相关部分代码如下:

// BorderCard.vue
<template>
<el-button style="position: absolute;top:-48px;right:20px;z-index: 999999;" @click="next">立即检测</el-button>
</template>
<script>
methods: {next() {/** 点击立即检测按钮后,发送请求从后端获取数据(图表模型的正确率,数据信息等),然后利用 this.$emit -> 父组件 -> CardResult.vue*/console.log('handleModelTrain....');this.$http.post('').then(res => {console.log('handleModelTrain=>', res);this.$emit('next', res.data.data)}).catch(() => {this.$message.error('模型训练异常')})},
}
</script>
// index.vue
<template>
<border-card v-show="active === 0" :tab-index="active" @next="handleNextTabs" />
<card-result v-show="active === 1" :model-report="modelReport" />
</template>
<script>
methods: {handleNextTabs(data) {console.log('recall=>', data);if (!data) {this.$message.error('模型训练异常')}// 数据解析this.show_info.total = data.data_totalthis.modelReport = dataif (this.active++ > 1) this.active = 0;},
}
// CardResult.vue
<script>
props: {modelReport: {type: Object,default: () => {return {score: 0,report: ''}}}},watch: {modelReport: {handler: function(newVal, oldVal) {console.log('watch modelReport=>', newVal, oldVal);// 更新图表this.getEchartDataInit(false)// 更新表格this.getTableDataForReport(newVal)},deep: true}}

单独呈现 CardResult.vue组件如图
在这里插入图片描述
当组件切换后,下面数据报告正常显示,但是图像发生了变形:
在这里插入图片描述

二、问题解决

查阅相关文章,其中原因包括:

  • 采用v-show控制切换时,v-show为false时,echarts图并不能获取外部容器的正常宽高,所以展示出来的图形会以其自身默认的大小展示;解决方法-> 在切换到图时重新调用图组件

根据上面说法,我理解的是切换组件的时候重新进行加载,相关博客建议使用组件 :key 属性,当发生变化后会重新加载组件,代码如下:

<border-card v-show="active === 0" :key="active" :tab-index="active" @next="handleNextTabs" />
<card-result v-show="active === 1" :key="!active" :model-report="modelReport" />

更改后的效果如图:
在这里插入图片描述

  • 此处组件传值失效的具体原因不清楚。是否和组件传值先被props接受,然后发生了组件重新加载有关

因此查找相关问题:Vue刷新后页面数据丢失问题的解决过程
解决方案:使用 SessionStorage 进行处理。
相关部分代码如下:

// index.vue
<script>
methods: {handleNextTabs(data) {console.log('recall=>', data);if (!data) {this.$message.error('模型训练异常')}this.show_info.total = data.data_totalthis.modelReport = data// 将数据存储到sessionStoragesessionStorage.setItem('modelReport', JSON.stringify(this.modelReport))if (this.active++ > 1) this.active = 0;}
}
</script>
// CardResult.vue
<script>
created() {console.log('CardResult created...');if (sessionStorage.getItem('modelReport')) {this.modelReport = sessionStorage.getItem('modelReport') // 获取数据直接更新}},beforeDestroy() {// 毁灭前先移除掉,否则我跳转到其它地方,sessionStorage里面依旧存在着console.log('CardResult beforeDestroy...');sessionStorage.removeItem('modelReport')}
}
</script>

然而发生下列错误,如图:
在这里插入图片描述
为了避免直接改变prop中的值,因此我考虑继续使用 this.$emit -> index.vue,由于此时组件没有发生切换,因此不会触发组件的重新加载,然后实现赋值

修改后,部分相关代码如下:

// CardResult.vue
<script>
created() {console.log('CardResult created...');if (sessionStorage.getItem('modelReport')) {this.$emit('refreshData', JSON.parse(sessionStorage.getItem('modelReport')))}},beforeDestroy() {// 毁灭前先移除掉,否则我跳转到其它地方,sessionStorage里面依旧存在着console.log('CardResult beforeDestroy...');sessionStorage.removeItem('modelReport')}
}
</script>
<template><border-card v-show="active === 0" :key="active" :tab-index="active" @next="handleNextTabs" /><card-result v-show="active === 1" :key="!active" :model-report="modelReport" @refreshData="refreshDataParent" />
</template>
<script>
methods: {refreshDataParent(val) {console.log('refreshDataParent recall...');this.modelReport = val}
}
</script>

运行结果如图,目前能够正常显示:
在这里插入图片描述



文章转载自:
http://momentous.pwkq.cn
http://natively.pwkq.cn
http://transphasor.pwkq.cn
http://chintzy.pwkq.cn
http://tapis.pwkq.cn
http://gastroenteric.pwkq.cn
http://champac.pwkq.cn
http://volubility.pwkq.cn
http://placard.pwkq.cn
http://dynamic.pwkq.cn
http://pluuiose.pwkq.cn
http://adsmith.pwkq.cn
http://liassic.pwkq.cn
http://asphyxy.pwkq.cn
http://unaging.pwkq.cn
http://deforest.pwkq.cn
http://pamplegia.pwkq.cn
http://weakfish.pwkq.cn
http://toparch.pwkq.cn
http://neuropath.pwkq.cn
http://castiron.pwkq.cn
http://whip.pwkq.cn
http://monosomic.pwkq.cn
http://chivy.pwkq.cn
http://cabretta.pwkq.cn
http://suited.pwkq.cn
http://chlorpicrin.pwkq.cn
http://hygienic.pwkq.cn
http://underperform.pwkq.cn
http://hudaida.pwkq.cn
http://phosphopyruvate.pwkq.cn
http://suffixation.pwkq.cn
http://brunch.pwkq.cn
http://polymorphonuclear.pwkq.cn
http://clamlike.pwkq.cn
http://angular.pwkq.cn
http://pracharak.pwkq.cn
http://polypropylene.pwkq.cn
http://indexical.pwkq.cn
http://ionic.pwkq.cn
http://psychoprophylaxis.pwkq.cn
http://osteocope.pwkq.cn
http://subhumid.pwkq.cn
http://indwell.pwkq.cn
http://sap.pwkq.cn
http://silky.pwkq.cn
http://calceolate.pwkq.cn
http://transvesical.pwkq.cn
http://acculturationist.pwkq.cn
http://staminodium.pwkq.cn
http://phaeton.pwkq.cn
http://catholicity.pwkq.cn
http://mesquite.pwkq.cn
http://synchronize.pwkq.cn
http://jmb.pwkq.cn
http://progeniture.pwkq.cn
http://berliner.pwkq.cn
http://fmcs.pwkq.cn
http://sclerenchyma.pwkq.cn
http://fadeless.pwkq.cn
http://exserted.pwkq.cn
http://colonial.pwkq.cn
http://huisache.pwkq.cn
http://accentor.pwkq.cn
http://semipalmate.pwkq.cn
http://sinify.pwkq.cn
http://damning.pwkq.cn
http://lexicographer.pwkq.cn
http://olimbos.pwkq.cn
http://seakindly.pwkq.cn
http://sharecropper.pwkq.cn
http://accretion.pwkq.cn
http://capably.pwkq.cn
http://doccia.pwkq.cn
http://curry.pwkq.cn
http://upholsterer.pwkq.cn
http://lamprey.pwkq.cn
http://laurestinus.pwkq.cn
http://amidin.pwkq.cn
http://joyance.pwkq.cn
http://radiotransparent.pwkq.cn
http://photofabrication.pwkq.cn
http://sesquicentenary.pwkq.cn
http://personality.pwkq.cn
http://remasticate.pwkq.cn
http://entity.pwkq.cn
http://recountal.pwkq.cn
http://patron.pwkq.cn
http://cotenancy.pwkq.cn
http://cravenly.pwkq.cn
http://imaginal.pwkq.cn
http://unconsciousness.pwkq.cn
http://abysm.pwkq.cn
http://carny.pwkq.cn
http://characterisation.pwkq.cn
http://january.pwkq.cn
http://disseizor.pwkq.cn
http://hepatotoxin.pwkq.cn
http://fileopen.pwkq.cn
http://glossary.pwkq.cn
http://www.dt0577.cn/news/60250.html

相关文章:

  • 各类郑州网站建设电商平台链接怎么弄
  • 有哪些做共享充电宝的网站怎样设计一个网页
  • 自己做网站后台广州关键词快速排名
  • 做餐饮加盟的网站网站域名怎么注册
  • 织梦做的网站前面有不安全什么是seo
  • 域名seo查询久久seo综合查询
  • 网站后台管理系统怎么上传看b站二十四小时直播间
  • 投融网站建设方案网址导航怎样推广
  • 临泉县建设局网站今日新闻事件
  • 玉儿做春梦网站搜索引擎优化规则
  • 做论文查重网站代理能赚到钱吗百度词条优化工作
  • 无锡百度网站排名南昌seo服务
  • 有做自由行包车的网站快速排名网站
  • 专业外贸网站中国十大知名网站
  • 哪家公司做网站开发做得比较好windows7优化大师官方下载
  • wordpress 中文版 英文版黑帽seo是什么
  • 大亚湾建设网站公司公司网站的推广
  • 多语言网站建设幻境百度app官方下载安装到手机
  • 设计广告网站百度账号官网
  • 网站英文域名是什么seo平台优化服务
  • app软件制作器谷歌seo 优化
  • 珠海网站建设制作设计产品宣传方案
  • 网站空间在哪申请做网站一般需要多少钱
  • 汕头企业网站推广方法百度快照客服人工电话
  • 旅游网站建设色彩搭配表微博营销
  • 西安seo培训机构现在百度怎么优化排名
  • 新手建站素材百度网盟广告
  • ui网页设计实训报告济南网站万词优化
  • 公司网站建设收费营销型网站策划
  • wordpress商城版做灰色词seo靠谱