5.16 BScroll页面切换滑动失效,点击事件冒泡(未绑定click也会监听click),transition-group动画特例,BScroll未激活不允许任何事件调用,类的实例和对象

1、当遇到切换页面导致BScroll滑动失效时。
多半是因为dom的重新渲染导致,BScroll的滑动高度为0。或者组件v-show从false->true,而BScroll未计算高度导致。
在这里插入图片描述
最好的办法就是设置侦听器,对前后改变的数值进行侦听,并因此刷新betterScroll组件。

2、点击事件冒泡问题。
情况一:比如蒙层设定了@click=“hide”,但是当点击子层的任何位置,均会触发蒙层的@click事件,是因为子层也监听到了鼠标的click事件冒泡到蒙层。
情况二:组件的click事件会冒泡到父组件,因为本质上组件还是被包裹在父层内。故冒泡。
解决办法: 在蒙层前一层阻止冒泡。(注:不能设置蒙层层级阻止冒泡,蒙层阻止的是传播,而不是当前不接收。),或者组件的包裹层设置@click.stop阻止冒泡到父组件。

 <div class="playlist" v-show="showFlag" @click="hide">
     <div class="list-wrapper" @click.stop>
        <div class="list-header">
        </div>
        <div class="list-content">
        </div>
        <div class="list-operate">
        </div>
     </div>
 </div>

3、transition-group内置一个v-move检测动画,触发代码如下。

.item
  &.list-leave-active
    display: none
  &.list-move
    transition: transform .5s

是不是认为我写错了,active内不是transition吗?
不是的,这就是vue提供的v-move动画的写法,active必须写display:none,才会被执行。
死记硬背吧。特效适合图片的自动排版,非常优雅。

4、当BScroll的v-show为false时, BScroll已失效。不能调用方法
在这里插入图片描述
5、自己构造的类比如Song类,当类存储入localstorage时,就变成了对象。
类和对象是不一样的,就是说,如果你从缓存中读取一个类,这个类其实已经变成了对象,不具备类的方法。需要重新 new Song(song) 转换成类,才能具备类的方法。
对象:{…}
类:Song {…}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值