开发中遇到一个问题,有两组轮播组件,但某一时刻只能显示其中一组,通过按钮切换两组swipe的显示。 因为两组swipe不会同时显示,所以我使用了v-show去控制显示(因为v-show只是通过display控制组件是否显示,从理论上来说性能由于v-if)。 但实际使用中发现,第二组组件无法正常工作,代码如下
但v-if和v-show毕竟还是有一些不同,因为v-if每次都会重新构建组件,这样保存在组件内的数据就必须提取到父组件或者是store中。但是这个做法相当于将组件内的数据提取到了外面,感觉从设计上来说不太优雅,而且v-if性能不如v-show不是么(虽然我用不到那么极致的性能) 还有一种解决方案是使用别的框架,亲测vux没有这问题,但为了一个滑动组件引入一个新的UI库会不会太过大题小作了? 于是……我自己写了一个滑动组件,其实这也是准备了很久的事情(github.com/Rangocold/r…),目前仅支持几个常规的属性如auto,实际上两年来有好多项目使用的是vant,所以vant有一些槽点(比如字体大小都是一言难尽的16px,如果要修改就只能在代码里公共的style直接修改,很不优雅)。 希望在接下来的一年里,可以写一些有趣的东西出来,能够遇见更好的自己。