前言
本文基本上囊括了非端侧小程序引擎实现的方方面面,其中还涵盖了大量的微信小程序开发文档里不会告诉你的特性细节(可作为引擎侧的测试用例)。理论上本文可以作为实现小程序引擎的技术细节文档来查阅,不太适合通读。
Mixin 该 Vue 组件,给页面增加一个响应 $route.query
变化的 onQueryUpdated
回调吧! 项目地址
对于 keep-alive 的页面来说,无论是分页还是搜索,该类业务都可抽象为去改变当前页 url 中的查询参数,然后在 onQueryUpdated
回调中拿着查询参数去获取数据就好。你不需要在 created
时获取一下数据,某个响应查询参数变化的地方再获取一下数据了,你只需要:
同一个父组件,引入了若干不同子组件,但是不同子组件间存在相同请求数据情况,尤其是子组件上到一定数量时,往往是根据页面展示区块划分组件,这种现象就更加明显。一般大家都是如何避免这种情况的,也就是避免二次相同请求 - 知乎提问
该咋请求咋请求,把缓存放在 http 请求层,也就是 fetch 或 ajax 模块。这样不会对原有的代码造成太多影响,用起来也更自然
当然,你这种情况可以把获取数据的方法统一封装在父组件,子组件可以去继承,也可以去 inject
再多说两句,不要强行上 vuex,不要强行把数据传来传去,设计越多包袱越重,设计的意义一定是让复杂的事情变得简单,就假设有个新人要过来维护你们的项目,它能不能快速上手。
唉,维护接手了太多的项目,见过了太多的为了设计而设计的架构,何苦呢
1 / 2