哈喽大家好!今天咱们就来谈谈超有趣的话题——关于小程序开发这个大头事儿。你猜怎么着?相比网站开发,做B端应用的小程序可是难多了。
我们先来看下小程序开发时遇到的2大难题。首先是双线程问题,这可是让我们伤透脑筋;其次就是页面间的互动,也是烦得让人头大。
那你们考虑过怎么解决这个问题吗?告诉你,我有个超好主意。其实我们可以用缓存搞定取数和页面加载的问题。简单来说,就是在转向前先存下请求,然后跳转后再拉出处理。这样做的话,咱俩就都能解决问题!
const promiseCache = new Map() export function setCachePromise(key, promise) { promiseCache.set(key, promise) } export function getCachePromise(key) { // 根据key获取当前的数据 const promise = promiseCache.get(key) // 用完删除,目前只做中转用途,也可以添加其他用途 promiseCache.delete(key) return promise }
别忘了,如果只能选搭车的话,不如就在每一次折腾一下UI,这样对各种情况都能应对得来~
// 导入 setCachePromise 函数 Component({ methods: { getBookData(id) { const promise = // promise 请求 setCachePromise(`xxx:${id}`, promise) }, handleBookDetailShow(e) { const id = e.detail this.getBookData(id) wx.navigateTo({url: `xx/xx/x?id=${id}`}) } } })
确实,如果你要更轻松的方法,了解一下微信小程序的提速小诀窍和wxpage框架!别忘了,用户可能会碰到各种情况比如硬件或者网速慢等等。这样做优化绝对值!
// 导入 getCachePromise 函数 Component({ properties: { id: Number }, lifetimes: { attached () { const id = this.data.id // 取得全局缓存的promise const bookPromise = getCachePromise(`xxx:${id}`) bookPromise.then((res) => { // 业务处理 }).catch(error => { // 错误处理 }) } }, methods: { getBook() { // 获取数据,以便于 错误处理 上拉刷新 等操作 } } })
还有,微信小程序为了让你少等会儿,准备好定期更新和提前拉取数据!这样咱们就能把应用搞得更顺手。
最后,告诉你个小窍门儿。你要是在详情页那儿改删了数据,再回到列表那,直接按照刚刚存的查询条件搜就是!不过得提醒一句这种方法移动端用不了,因为它没滑动浏览功能!
你们想过怎么让用户知道数据变了吗?咱们其实能用好几种方法搞定。比如我们能提醒用户数据变了,让他们自己决定要不要刷个新;还可以用些特别的技巧告诉他们应该刷新页面。今儿我给大家讲了小程序编程里头一些头疼的问题以及解决办法。希望能帮到你们!如果还有啥想法或疑惑别忘了跟我说说!赞一下,转个发也是对我最大的鼓励谢谢大伙儿!
原文链接:https://www.icz.com/technicalinformation/web/2024/03/11423.html,转载请注明出处~~~
评论0