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

建设思政教育网站案例太原电子商务网站的建设与服务

建设思政教育网站案例,太原电子商务网站的建设与服务,wap网站浏览器,网络外包服务公司要掌握#xff1a;localStorage#xff0c;组件封装 ​​​​ emm#xff0c;第一次上传视频转gif的图片#xff0c;效果不咋好。。。 视频转gif 的软件连接 http://www.zxt2007.com/downloads.html 找到一个可以截取部分视频制作gif图的软件https://soft.onlinedo.cn/gif…要掌握localStorage组件封装 ​​​​ emm第一次上传视频转gif的图片效果不咋好。。。 视频转gif 的软件连接 http://www.zxt2007.com/downloads.html 找到一个可以截取部分视频制作gif图的软件https://soft.onlinedo.cn/gif/ 在 components 下新建一个 curmbs 文件夹并在该文件夹下新建一个 index.vue 文件。router.js 中的配置添加一个 meta对象 代码 templatediv classcrumbs!-- 面包屑 --el-card classbox-cardel-breadcrumb separator/el-breadcrumb-item v-for(level,index) in this.levelList :keyindex :tolevel.path{{level.name}}/el-breadcrumb-item/el-breadcrumb/el-card/div /templatescript export default {name : crumbs,data() {return {levelList: []}},watch: {$route(to,from) {console.log(to,from)// 思路判断meta中breadNumber为几就把它放在第几个// 注意存放到localStorage中的数据格式最好统一我在这里把它统一成了数组的格式// levelList最终的格式要为[{name:xx,path:xx,breadNum:xx}]this.getBreadcrumb()}},methods:{getBreadcrumb() { // 1.获取当前的name,path,breadNumbervar newName this.$route.name;var newPath this.$route.fullPath;var newBreadNum this.$route.meta.breadNumber; // 2.获取前一页存下的name,path,breadNumbervar oldName JSON.parse(window.localStorage.getItem(oldName));var oldPath JSON.parse(window.localStorage.getItem(oldPath));var oldBreadNum JSON.parse(window.localStorage.getItem(oldBreadNum));var routerInfo JSON.parse(window.localStorage.getItem(routerInfo)) || []; this.levelList routerInfo; // 3.判断是否是第一层即初始位置如果是第一层分两种情况if(this.$route.meta.breadNumber 1){// 3.1 localStorage有值那么this.levelList不是空值说明是由上一个主路由进来的需要清空之前localStorage的值并且重新赋值给levelListif(this.levelList.length ! 0 ){localStorage.removeItem(oldName);localStorage.removeItem(oldPath);localStorage.removeItem(oldBreadNum);localStorage.removeItem(routerInfo);this.levelList []; }// 3.2 localStorage没有值说明就是第一次进主路由直接赋值this.levelList.push({name:newName,path:newPath,breadNumber:newBreadNum});// this.$store.commit(breadCrumb/BREAD_PATH,{ newName,newPath,newBreadNum });// 按照数组格式的方式存放var nameStr [];nameStr.push(newName);var pathStr[];pathStr.push(newPath);var breadNumStr [];breadNumStr.push(newBreadNum);window.localStorage.setItem(oldName,JSON.stringify(nameStr));window.localStorage.setItem(oldPath,JSON.stringify(pathStr));window.localStorage.setItem(oldBreadNum,JSON.stringify(breadNumStr));window.localStorage.setItem(routerInfo,JSON.stringify(this.levelList));}else{ var isBreadNumber false; // 4.breadNumber除了等于1其他值时this.levalList一定不是空值判断点击的这个breadNumber数组中是否存在// 4.1 如果存在就要删掉这个后面的所有值并且将点击所获得的的这个值存进this.levalList数组中// 4.2 如果不存在说明是按照顺序进行的把它存到localStorage中并把值给this.leavalList数组//在这里不用return否则会终止循环for(var i 0 ;i this.levelList.length; i){if(this.levelList[i].breadNumber newBreadNum){// return true; // 为true时表示数组内已存在 false表示不存在isBreadNumber true;break;}}if( isBreadNumber ){//删除点击的后面所有信息localStorage中的数据也要删除这里的删除是截取而不是完全删除然后将该信息添加进去 //要注意的是这里的变化还有可能是点击面包屑时产生的其他地方通常是通过路由跳转得到的 // 注意这里splice的用法如果直接写在localStorage.setItem 中得到的值是被截取的值而不是截取后的值oldName.splice(newBreadNum,oldName.length-newBreadNum );window.localStorage.setItem(oldName,JSON.stringify( oldName ));oldPath.splice(newBreadNum,oldPath.length-newBreadNum);window.localStorage.setItem(oldPath,JSON.stringify( oldPath ));oldBreadNum.splice(newBreadNum,oldBreadNum.length-newBreadNum);window.localStorage.setItem(oldBreadNum,JSON.stringify( oldBreadNum ));routerInfo.splice( newBreadNum,routerInfo.length-newBreadNum);window.localStorage.setItem(routerInfo,JSON.stringify( routerInfo ))}else{var oldNameStr JSON.parse(window.localStorage.getItem(oldName));oldNameStr.push(newName);window.localStorage.setItem(oldName,JSON.stringify(oldNameStr));var oldPathStr JSON.parse(window.localStorage.getItem(oldPath));oldPathStr.push(newPath);window.localStorage.setItem(oldPath,JSON.stringify(oldPathStr));var oldBreadNumStr JSON.parse(window.localStorage.getItem(oldBreadNum));oldBreadNumStr.push(newBreadNum);window.localStorage.setItem(oldBreadNum,JSON.stringify(oldBreadNumStr));this.levelList.push({name:newName,path:newPath,breadNumber:newBreadNum});window.localStorage.setItem(routerInfo,JSON.stringify(this.levelList)); }}}},created(){this.getBreadcrumb(); } } /scriptstyle scoped langscss .box-card{margin-bottom: 20px; } /style上面 localStorage存储的name, path,breadNum 是我测试的时候存的也可以删除简洁版代码 templatediv classcrumbs!-- 面包屑 --el-card classbox-card v-showisShowel-breadcrumb separator/el-breadcrumb-item a hrefjavascript:;{{$route.matched[0].name}}/a/el-breadcrumb-itemel-breadcrumb-item v-for(level,index) in this.levelList :keyindex :tolevel.path{{level.name}}/el-breadcrumb-item/el-breadcrumb/el-card/div /templatescript export default {name : crumbs,props:{isShow:{type:Boolean,default:true //默认值为true 显示}},data() {return {levelList: []}},watch: {$route(to,from) {// console.log(to,from)// 思路判断meta中breadNumber为几就把它放在第几个// 注意存放到localStorage中的数据格式最好统一我在这里把它统一成了数组的格式// levelList最终的格式要为[{name:xx,path:xx,breadNum:xx}]this.getBreadcrumb()}},methods:{getBreadcrumb() { // 1.获取当前的name,path,breadNumbervar newName this.$route.name;var newPath this.$route.fullPath;var newBreadNum this.$route.meta.breadNumber; // 2.获取前一页存下的name,path,breadNumbervar routerInfo JSON.parse(window.localStorage.getItem(routerInfo)) || []; this.levelList routerInfo; // 3.判断是否是第一层即初始位置如果是第一层分两种情况if(this.$route.meta.breadNumber 1){// 3.1 localStorage有值那么this.levelList不是空值说明是由上一个主路由进来的需要清空之前localStorage的值并且重新赋值给levelListif(this.levelList.length ! 0 ){localStorage.removeItem(routerInfo);this.levelList []; }// 3.2 localStorage没有值说明就是第一次进主路由直接赋值this.levelList.push({name:newName,path:newPath,breadNumber:newBreadNum});// 按照数组格式的方式存放window.localStorage.setItem(routerInfo,JSON.stringify(this.levelList)); } else{ // 4.breadNumber不等于1时那么this.levalList一定不是空值判断获取到的这个breadNumber在数组中是否存在 var isBreadNumber false; for(var i 0 ;i this.levelList.length; i){if(this.levelList[i].breadNumber newBreadNum){// return true; // 为true时表示数组内已存在 false表示不存在isBreadNumber true;break; //在这里不用returnreturn会终止循环}}// 4.1 如果存在说明是所有路由展示已经完或者是展示了前面几个然后点击面包屑点击面包屑上其中的一个标签//就要删掉这个后面的所有值并且将点击所获得的的这个值存进this.levalList数组中if( isBreadNumber ){//删除点击的后面所有信息localStorage中的数据也要删除这里的删除是截取而不是完全删除然后将该信息添加进去 //要注意的是这里的变化还有可能是点击面包屑时产生的其他地方通常是通过路由跳转得到的 // 注意这里splice的用法如果直接写在localStorage.setItem 中得到的值是被截取的值而不是截取后的值routerInfo.splice( newBreadNum,routerInfo.length-newBreadNum);window.localStorage.setItem(routerInfo,JSON.stringify( routerInfo )); } else { // 4.2 如果不存在说明是按照顺序进行的,如一级跳到二级再从二级跳到三级//把它存到localStorage中并把值给this.leavalList数组this.levelList.push({name:newName,path:newPath,breadNumber:newBreadNum});window.localStorage.setItem(routerInfo,JSON.stringify(this.levelList)); }}} },created(){this.getBreadcrumb(); } } /scriptstyle scoped langscss .box-card{margin-bottom: 20px; }/style注册 如果想要一部分页面显示该组件一部分不显示那么需要用到 props 传参。 具体做法参考 1在 index.js 中 el-card classbox-card v-show isShowexport default { props:{isShow:{type:Boolean,default:true //默认值为true 显示}} }(2) 组件调用时 crumbs :isShowfalse/crumbs //false表示不显示面包屑如果想要将左侧主导航栏也显示出来则添加代码 原代码 el-breadcrumb separator/ el-breadcrumb-item v-for(level,index) in this.levelList :keyindex :tolevel.path{{level.name}}/el-breadcrumb-item/el-breadcrumbel-breadcrumb-item a hrefjavascript:;{{$route.matched[0].name}}/a /el-breadcrumb-item
http://www.sadfv.cn/news/241867/

相关文章:

  • 网站后台运营怎么做嵌入式转行到网站开发
  • 网站建设创新点网站开发技术网站模板
  • 那家网站做的效果好c 网站建设教程视频
  • 建站平台上建设的网站可以融资吗wordpress添加+下载
  • 建设网站程序汕头网站制作多少钱
  • 苏州大型网站建设公司做网站通过什么赚钱吗
  • 网站建设犭金手指a排名12怎么建设一个网站并顺利打开浏览
  • qq空间怎么做网站网站建设的工作计划
  • 江苏网站建设 博敏网站个性化网站建设公司电话
  • 企业网站建站那种好宁陵县网站seo
  • 网站模块设计wordpress只显示默认主题
  • 月编程做网站建网站用什么服务器
  • 企业网站建设包含哪些内容佛山市住房建设局网站
  • 网页制作与网站建设实战大全光盘编程开发工具大全
  • 年底 网站备案成都龙泉工程建设有限公司网站
  • 网站建设背景和目标高端品牌女装连衣裙
  • alexa全球网站排名三亚网红打卡景点
  • 用C语言做网站登录界面app外包平台的服务水平
  • 建com网站中国建材建设网站
  • 做网站网页维护 手机App 开发上海高端做网站
  • 设计品质网站建设做销售在哪个网站找客户
  • 电子商城网站开发 pdf网站建设需要交文化建设税吗
  • 网站建设有关图片在线做章网站
  • 沈阳高端网站定制开发学生html美食静态网页代码
  • 建设网站的页面设计wordpress分类目录最简化404
  • 网站开发外包公司合同成都城乡建设网站
  • 开源html5 网站模板企业网站需要注意什么
  • dede 两个网站图片路径网站设计需要那些模块
  • 哪里可以买链接网站网站注册完域名如何建站
  • 如何设计公司官网站大家称赞的网站建设