说明:在移动端,我们的首页选项卡会缓存一些点击事件,比如点击组织页面的下拉框==》切换到事件页面==切换回组织页面发现下拉项已缓存,是下拉状态1.2.3。解决方法:每次滑动到另一个页面,都需要解绑点击事件。方法:1-先给父框添加指令:v-click-outside="hideBox"2-脚本标签中自定义指令//自定义指令函数constclickOutside={//初始化指令bind(el,binding,vnode){functionclickHandler(e){//这里判断点击的元素是否是自己,然后返回if(el.contains(e.target)){returnfalse;}//在指令中判断一个函数是否被绑定if(binding.expression){//如果一个函数被绑定,则调用该函数,其中binding.value是handleClose方法binding.value(e);}}//给当前元素绑定一个私有变量,这样在unbind中就可以解除事件监听el.__vueClickOutside__=clickHandler;document.addEventListener('点击',clickHandler);},update(){},unbind(el,binding){//解除绑定事件监听document.removeEventListener('click',el.__vueClickOutside__);删除el.__vueClickOutside__;},};3-在exportdefault中注册自定义指令//注册自定义指令directives:{clickOutside},4-最后写入需要恢复下拉hideBox的参数(){this.isSelect=falsethis.selectStatus=假},
