vue实战-面包屑的处理

1.面包屑处理分类操作

在Search路由模块下
通过v-if来确定面包屑的存在,设置点击事件处理删除面包屑后的情况

<ul class="fl sui-tag"><li class="with-x" v-if="searchParams.categoryName">{{searchParams.categoryName}}<i @click="removeCategoryName">×</i></li>
</ul>

点击事件方法

   removeCategoryName(){//点击x的时候将searchParams中的categoryName的值清空,//由于name清空了,可是它的id还在,所以也需要将它的id给清空//为了给仓库减负,就是不输出空的暂时用不上的属性值,不将这些值变为空字符而是undefined,//这样就不会返回数据到仓库中了。this.searchParams.categoryName = undefinedthis.searchParams.category1Id = undefinedthis.searchParams.category2Id = undefinedthis.searchParams.category3Id = undefined//并且重新派发告诉服务器数据变化this.getData()//更新数据后,路由跳转也需要更改//这里指右边三级联动的query需要删除,而如果存在parama参数需要保留if(this.$route.params){this.$router.push({name:'search',params:this.$route.params})}}

2.面包屑中的关键字处理

组件通信:
1.props:父子
2.自定义事件:子父
3.vuex:仓库数据,万能
4.插槽:父子
5.pubsub-js:万能
6.$bus:全局事件总线

同样在Search路由模块下
通过v-if来确定面包屑的存在,设置点击事件处理删除面包屑后的情况

 <!-- 搜索关键字面包屑 -->
<li class="with-x" v-if="searchParams.keyword">{{searchParams.keyword}}<i @click="removeKeyword">×</i></li>

点击事件的方法

removeKeyword(){//与处理分类操作相同this.searchParams.keyword = undefinedthis.getData()//但是这样是Search组件中的keyword为undefined了,可是Header组件中的keyword还是存在//所以需要将Header中的keyword的值也清空。//Search与Header组件之间是兄弟组件,使用全局事件总线$bus来传递。//去$bus中获取触发Header组件绑定的事件this.$bus.$emit('clear')//同样的,由于点击删除面包屑路由跳转要恢复,要考虑到三级分类的query参数存在时//应该保留if(this.$route.query){this.$router.push({name:'search',query:this.$route.query})}}

Header组件模块中的绑定事件

  mounted(){this.$bus.$on('clear',()=>{this.keyword = ''})}

注册全局事件总线

成功的实现了面包屑中关键字的处理,Header组件与Search组件中的keyword都因为面包屑的删除而清空。

3.平台售卖属性的操作

在Search组件下添加售卖属性的面包屑

<!-- 销售属性的面包屑 -->
<li class="with-x" v-for="(attv,index) in (searchParams.props)" :key="index">{{attv.split(':')[1]}}<i @click="removeprops(index)">×</i></li>

通过自定义事件(子传父)传递数据

父组件下绑定自定义事件

处理从子组件传递过来的数据

   attrInfo(attr,attv){let props = `${attr.attrId}:${attv}:${attr.attrName}`if(this.searchParams.props.indexOf(props)){this.searchParams.props.push(props)}this.getData()},

子组件触发事件并传递数据

 attrInfo(attr,attv){this.$emit('attrInfo', attr,attv)}

删除面包屑操作

绑定点击事件方法,因为props是数组,需要splice方法来删除元素。

removeprops(index){this.searchParams.props.splice(index,1)this.getData()}

vue实战-面包屑的处理相关推荐

  1. vue 中面包屑带跳转的做法

    首先要在子页面的meta中定义 {path: '/staffsManagement',component: () => import(/* webpackChunkName: "das ...

  2. vue动态面包屑导航

    说明:根据不同的页面动态生成不同的面包屑导航 (不用在每个页面写死面包屑) router.js路由文件: {path:'/index',name:'index',component:()=>im ...

  3. Vue动态面包屑功能的实现方法

    面包屑应该是我们在项目中经常使用的一个功能,一般情况下它用来表示我们当前所处的站点位置,也可以帮助我们能够更快的回到上个层级. 今天我们就来聊聊如何在 Vue 的项目中实现面包屑功能.以下案例都是使用 ...

  4. Vue 封装面包屑 (即粘即用)

    效果展示(后台管理系统中常用) 如果你也需要如图所示的效果 直接把下面的代码粘贴过去即可 不需要父组件传递任何参数 十分好用: 基本思路: 监听 $route 路由信息: 把当前的信息添加至数组,循环 ...

  5. vue动态面包屑导航的使用

    动态面包屑导航是根据路由中的 matched 获取到的 单独提取出面包屑导航栏组件 <template><el-breadcrumb class="app-breadcru ...

  6. 在vue中使用element-ui二次封装面包屑导条

    在vue中使用element-ui二次封装面包屑导条 由于这几天写了一个后台管理系统,多次使用的到了面包屑导航,所以我就把它封装起来使用了: 效果图 第一步 安装element-ui npm i el ...

  7. vue + Element UI 动态Breadcrumb 面包屑的制作

    文章目录 效果 一.路由配置 二.使用步骤 1.Breadcrumb.vue: 2.在页面中使用 总结 效果 面包屑用于显示当前页面的路径,快速返回之前的任意页面. 一.路由配置 代码如下: impo ...

  8. vue--echarts 图标库、excel导出、面包屑组件、富文本框、地图、前端使用代理访问、监控生产环境or开发环境

    目录 一.echarts 图标库 1.echarts的基础 2.项目中的使用 二.execl导出 三.面包屑组件 四.富文本框 五.地图 六.vite 构建配置 七.后端未开跨域资源共享,前端使用代理 ...

  9. Vue+Element项目实战系列-动态面包屑

    面包屑应该是我们在项目中经常使用的一个功能,一般情况下它用来表示我们当前所处的站点位置,也可以帮助我们能够更快的回到上个层级. 今天我们就来聊聊如何在 Vue 的项目中实现面包屑功能.以下案例都是使用 ...

最新文章

  1. Linux系统文件安全与权限
  2. spring-注入集合对象
  3. 像烟灰一样松散(毕淑敏)
  4. linux内核的nfs实现框架
  5. 国家铁路调度中心在哪_博慈46寸液晶拼接屏打造上海铁路局南翔站指挥中心显示系统...
  6. Windwos Server 2008 R2 DHCP服务
  7. Sony本如何进入biso设置
  8. java集合系列——Map之TreeMap介绍(九)
  9. kettle点击spoon.bat打不开
  10. pcf8591c语言编程,ADDA系列PCF8591的驱动程序
  11. 百事正用AI种土豆,连削皮算法都搞上了
  12. PAT 乙级真题 1032 挖掘机技术哪家强 (附测试点2)
  13. 音视频互动平台应用分析
  14. Linux操作系统几大发行版本的介绍与如何选择Linux操作系统
  15. gratuitous ARP(免费Arp)
  16. Google Glass应用开发探索
  17. Linux下使用Daemon实现服务器永久存活
  18. host 修改rancher_搭建Rancher
  19. 很多人问学Python做爬虫合法吗?究竟离违法还有多远?
  20. JH Win10系统

热门文章

  1. MySQL主从不一致问题处理
  2. tp3.2中微信支付
  3. 零基础入门学Python---017/018/019/020/021函数
  4. 五一出行欢乐多。。。。
  5. H.266 VVC 帧内预测中MIP技术更新
  6. 综合设计一个OPPE主页--布局与初始化
  7. 渔具界的沃尔玛Bass Pro Shops
  8. VMware中Bridged、NAT、host-only三种网络连接模式的原理及其区别
  9. 【引用】稳压二极管扩流电路
  10. idea中创建jsp项目