组件移除节点树后,它已经没有父组件了,触发的事件没法进行捕获冒泡过程。在 attached 时通过全局变量临时记录,在 detached 时从记录里取对应关系直接处理不要再去触发事件了。 这里的注入移除生命周期居然不是对称的,这种设计真的是 掘掘子 🤣
组件中detached生命周期中调用triggerEvent失效子组件的生命周期调用triggerEvent失效
2021-12-24Component({ properties: { nickname: null as unknown as StringConstructor, }, }) 去掉校验反正也是一个没什么用的东西,写代码有类型提示就完了
自定义组件property警告?最近项目突然收到一堆警告 warning component property received type-uncompatible value 自定义组件Component的properties定义了数据类型,外面传值一个null进来就会报错,如下代码在真机上(iPhone iOS14, 微信版本号:8.0.9 ) 就会报警告,一堆警告强迫症表示真的受不了,外面全部判断空不现实啊 代码那么多, 有什么解决方案???要被领导追杀了... 代码片段 https://developers.weixin.qq.com/s/dVXnH6ms7OsV [图片]
2021-12-01https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html#%E5%85%81%E8%AE%B8%E4%B8%8A%E4%BC%A0%E7%9A%84%E6%96%87%E4%BB%B6 不给上传webp文件[图片]
真机中webp不能显示,iOS/Android平台是全面支持webp吗?根据文档基础款在2.9.0以上,即可支持webp。目前我遇到的问题是,iOS真机上webp不能显示,开发工具的模拟器中可以。 基础库版本是2.14.1 微信版本8.0.9/ iOS14.2 , 微信8.0.10/ iOS 13.3, 微信8.0.7/Android 9. ``` import xxxImage from '../../../assets/images/xxx.webp'; <Image className="xxx-image" src={xxxImage} mode="widthFix" webp /> ```
2021-11-17个人感觉最好不要对返回的Promise做修改不然下游的流程处理都会变得繁琐起来 可以借助web规范里的AbortSignal,或着更简单方法是在入口参数加个配置项: onCancel?: (cancel: () => void) => void
wx.request 经 Promise 封装后,如何拿到requestTask大家会用 promise 将 wx.request 包装一层。但经过这么一层包装后,就拿到不到 requestTask,从而调用不了 abort 方法。大家都是如何解决的? 代码来自:https://www.kancloud.cn/xiaoyulive/wechat/526990 [代码]class Request {[代码][代码] [代码][代码]constructor (parms) {[代码][代码] [代码][代码]this[代码][代码].withBaseURL = parms.withBaseURL[代码][代码] [代码][代码]this[代码][代码].baseURL = parms.baseURL[代码][代码] [代码][代码]}[代码][代码] [代码][代码]get (url, data) {[代码][代码] [代码][代码]return[代码] [代码]this[代码][代码].request([代码][代码]'GET'[代码][代码], url, data)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]post (url, data) {[代码][代码] [代码][代码]return[代码] [代码]this[代码][代码].request([代码][代码]'POST'[代码][代码], url, data)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]put (url, data) {[代码][代码] [代码][代码]return[代码] [代码]this[代码][代码].request([代码][代码]'PUT'[代码][代码], url, data)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]request (method, url, data) {[代码][代码] [代码][代码]const vm = [代码][代码]this[代码][代码] [代码][代码]return[代码] [代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: vm.withBaseURL ? vm.baseURL + url : url,[代码][代码] [代码][代码]data,[代码][代码] [代码][代码]method,[代码][代码] [代码][代码]success (res) {[代码][代码] [代码][代码]resolve(res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail () {[代码][代码] [代码][代码]reject({[代码][代码] [代码][代码]msg: [代码][代码]'请求失败'[代码][代码],[代码][代码] [代码][代码]url: vm.withBaseURL ? vm.baseURL + url : url,[代码][代码] [代码][代码]method,[代码][代码] [代码][代码]data[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]}[代码] [代码]const request = [代码][代码]new[代码] [代码]Request({[代码][代码] [代码][代码]baseURL: [代码][代码]'http://test'[代码][代码],[代码][代码] [代码][代码]withBaseURL: [代码][代码]true[代码][代码]})[代码] [代码]module.exports = request[代码]
2020-12-28