- tabbar-swiper+long-page组件封装
- 组件类型定义
ComponentPublicInstance
类型 - 组件封装了长列表遍历了swiper-item此时类型附带[],如果调用子组件的方法可以
(this.$refs['组件ref属性值'] as 驼峰ComponentPublicInstance)?.foo?.();
方式 - 涉及到了关注和顶踩的切换,由于uniappx编译为app的性能由dom的层级决定,于是为了长列表的组件性能达到极致并且在首页改后项目中其他页面访问同一文章的时候不是由onSHow处理请求不再频繁调用获取统一最新数据,使用全局事件总线,用户切换的时候定义业务逻辑然后配置emit发布,并在页面最好是长列表组件里面去订阅一下(https://doc.dcloud.net.cn/uni-app-x/api/event-bus.html "全局事件总线"),之后触发即可,因为项目大部分都是采用长列表的形式,目前也是用了关注和顶踩两个需要,按业务书写自己的代码即可
- 最重要的一点就是页面销毁或者直接在长列表组件销毁的时候记得off关闭对应事件的监听
- 骨架屏因为不像小程序那样自动创建,如果是自己画采用如下方式
UniElement
drawablecontext
总之目前uniappx生态还是在不断更新,期待后续吧