properties 不直接接收 Function 类型哦。你要传的话,可以设个 Object 类型然后放在对象字段里面。
自定义组件属性设置函数类型报错来自文档:“WXML 数据绑定:用于父组件向子组件的指定属性设置数据,仅能设置 JSON 兼容数据(自基础库版本 2.0.9开始,还可以在数据中包含函数)。” 但是给自定义组件属性直接设置为 Function 类型会报错: Component({ properties: { test: Function } }) [图片] 换一种方式设置又没问题: Component({ properties: { test: { type: Function } } }) 另外开发者工具(版本号:1.02.1911180)提供的 TS 类型定义不支持将属性设置为 Function 类型。
2020-01-13一开始学编程还是在我小学的时候。那时有一个小软件公司兼做编程教学,我几乎是那里最小的学员。一开始是一个年轻的工程师手把手教我,然后分配了一个机房的机位给我,让我自己动手摸索。手把手教学还是很快的——照着书上输入代码,按下 F5 编译,就出现了黑底白字的 printf 字符串。 之后,负责教我的换成了软件公司的老板,我不太记得老板的代码水平,但他的教学风格让我至今印象深刻。那时,有道习题让我们用 switch 语句写一段代码,而我在电脑上敲出了一组 if-else ,有个路过的工程师员工提醒我说用 switch ,而老板马上阻止说:没关系,用 if-else 写完,锻炼逻辑。现在回想,老板布置给我的作业都很有意思,做个电子琴,做个打气球游戏。 在那个小软件公司的机房中,我还有几次用过八十年代的计算机写代码,只能跑 DOS 的那种。这也算是一段不可重现的回忆了。 在那六七年后,我考上大学计算机系,即将进入大学校园的时候,妈妈还专门翻出来了老板的电话。老板说,公司已经搬到了某大学校园旁边,和大学搞了些合作,看起来境况比以前好了很多。老板还记得我,遗憾我没有考取更好的学校。 又过了几年,我某次回到家乡时,发现当年软件公司租用的小楼已经变成了工地;而后,又变成了崭新豪华的商场。然而来来往往的人反而显得更少了,也许是因为时过境迁,城市中的繁华区也随之迁移。但我也相信,人们对知识的探求足够让一个小破楼变得充满生机。
你还记得第一次写出Hello world的时刻吗?对于大部分开发者而言,「 Hello, world 」是程序员生涯的起点,也是学习很多编程语言的原点。 多年之后,你是否还记得第一次写出Hello world的时刻? 彼时,打开新世界的大门时是否有过激动欣喜?当时发生过什么有趣的故事? 而此刻,又是否无悔当初在向代码的世界问好后,一直坚定走下去的选择? [图片]
2019-12-17在频繁的网络交互场景中会引起页面响应的“抖动” —— 这个应该是因为网络请求先后到达,引起页面结构多次发生变化导致。请考虑等所有网络请求都到达之后再一次性改变页面,或者给页面暂时缺少网络数据的部分填充占位符来提升用户体验。 Worker 主要用于大运算量的计算,如果有运算密集的逻辑,请考虑放在 worker 中。其他情况下一般不需要用到 worker 。 在小程序中,和页面变更相关的逻辑不能分配到多个线程中。网络请求可以通过主线程代理到 worker 中,但对于这样的 io 操作,几乎没有优化。
小程序什么时候能支持真正意义的多线程?现在小程序的双线程结构(逻辑层+界面层)在频繁的网络交互场景中会引起页面响应的“抖动”。 一个想法是把这些与网络交互的逻辑放在一个单独的线程,这样逻辑层就能专注于服务界面层的响应,达到极速的用户体验。可惜,当下小程序的多线程(worker)并不是真正意义上的多线程:worker不能调用wx的API,非常鸡肋。 我想问官方是否有另一种方法或者计划支持创造一个真正意义的线程?为了控制滥用,可以限制一个小程序能创造此类线程的数量。
2019-12-10Promise 依然不允许修改。这个应该是 wepy 引起的,我不确认是不是和 wepy 版本有关,请参考 wepy 相关文档。
app.wpy中config声明使用的插件"plugins"后报错了?我还没有使用呐真机基础库版本:2.8.3 开发工具调试基础库:2.8.2 报错信息如下: [non-writable] modification of global variable "Promise" is not allowed when using plugins at app.json. [图片] 定义插件代码如下: "plugins": { "XSEngine":{ "version": "1.1.1", "provider": "wx72xxxxxxxxxxxx" } } 开发工具和手机预览调试都报错,但不影响小程序运行。 请教下各路大神,为什么会这样?
2019-12-04这个是正常现象。目前 WXS 可能在“框架认为需要被触发”的时候触发,不太好描述它会被触发的时机。 因而, WXS 函数应当是一个“无状态函数”,即,无论在什么时机被触发,只要输入的参数相同,输出也要相同。
wxs 被重复使用是什么问题?问题描述:使用在index.wxml中,使用wxsB调用wxsA,然后在wxsB输出wxsA对外暴露的值; [图片] [图片] [图片] 可以看到,控制台输出了好多次,想问下这是怎么回事?? index.wxml中就一句话,没有循环啥的。 [图片]
2019-12-02正常现象,RegExp 受不同系统 js 引擎影响,如果正则表达式使用不当的确会出这种问题的。这个在真机上受限于系统的 js 引擎,我们无法解决。 真机调试环境与预览、线上环境稍有不同,有时候不能反映真机环境中的问题。请以预览作为参考。
一个关于RegExp.prototype.test()的bug,有复现代码片段RegExp.prototype.test()方法在使用时当传入的字符串过长时,会报堆栈溢出的异常,经测试只有在安卓的客户端有此问题,神奇的是,只有预览和打包上线会出此问题,如果使用真机调试功能,无此问题,此问题原理暂无查明.请官方的同学配合调查一下,上面有复现的代码片段供使用
2019-11-29应该是个极端情况下的误报,完全不影响用户使用。如果只是 onError 个别上报,不用理会。
wx.request请求在基础库中有签名校验?appServiceSDKScriptError-napi sign failed: seq error; apiName: createRequestTask;请求接口失败,报错完整提示 "appServiceSDKScriptError: api sign failed: seq error; apiName: createRequestTask; args: {\"data\":\"\",\"url\":\"https://wx.17u.cn/wireless/monitor/wx/common/compressevent\",\"header\":{\"apmat\":\"\",\"content-type\":\"application/json\"},\"method\":\"POST\",\"timeout\":0,\"__skipDomainCheck__\":false,\"responseType\":\"text\",\"apiSigningSeq\":141,\"apiSignature\":\"e91600981ab65783f43725429b5db70a79183d2c\"}; signature: e91600981ab65783f43725429b5db70a79183d2c-n at R (WAServiceMainContext.js:1:204205)-n at k (WAServiceMainContext.js:1:204003)-n at Object.invoke (WAServiceMainContext.js:1:206543)-n at Object.invoke (WAServiceMainContext.js:1:205983)-n at WAServiceMainContext.js:1:205584-n at Object.b (WAServiceMainContext.js:1:2017)-n at Object.ret.subscribeHandler (<anonymous>:38:28)" 基础库版本2.9.3 客户端版本:7.0.8 安卓7.0系统
2019-11-28page-meta 有个 page-style 属性来这么做(可以用 WXML 数据绑定)。 我们考虑并没有提供这个调用。原因一是原则上界面尽量用定义式的方式来做;二是 wx 开头的调用是全局的,我们不太好区分开发者的意图到底是更改哪个页面的样式,有可能会改错。
动态修改page节点的样式【追加需求】?老早以前发过类似的需求:动态修改page节点的样式 内容如下: - 需求的场景描述(希望解决的问题) wxss中可以直接修改包括page在内的节点的样式,但是wxml中没有page节点,所以page不能像其他节点那样动态修改样式,而且也没有什么api可以用 现在折中的方法是在page里加一个view模拟page,感觉多此一举啊 - 希望提供的能力 能有api可以动态修改page节点的样式 官方最近推出了page-meta组件来回应这个需求,但是这个组件是将部分可用的样式变成了一个一个独立的属性来设置,还是不够灵活 我这边追加两个建议需求 1、(这条删掉,有个page-style属性)page-meta组件可以和其他组件一样用下面这种方式来动态设置样式 [代码]<[代码][代码]page-meta[代码] [代码]style[代码][代码]=[代码][代码]"background: {{red?'red':'white'}};padding: {{pagePadding}}rpx;{{otherPageStyle}}"[代码][代码]>[代码]2、增加类似 wx.setPageStyle (名字可以官方决定,我这个是建议)这样一个统一的api来设置page的样式
2019-11-26IntersectionObserver 的选择器限制只能选择本组件内的节点(这和 SelectorQuery 的限制一样)。
createIntersectionObserver无法监听父组件区域?需求场景: 观察子组件在父组件是否可视,父组件只是页面的一个区域,并非是全屏的。现在需要知道子组件在父组件的相交状态 父组件 ``` <view class="f"> <view class="b1"></view> <observer></observer> </view> ``` observer 组件 ``` <view class="b2"></view> ``` 同样都是观察子组件在父组件的情况,如果观察的行为写在父组件的话,这个b1是可以被触发的,可以看到b1与父组件相交 ``` // 父组件 createIntersectionObserver.relativeTo('.f').observer('.b1', () =>{ console.log(aaaa)}) ``` 但是在子组件去完成观察监听的话,这个行为就无法被触发了 ``` // 子组件 createIntersectionObserver.relativeTo('.f').observer('.b2', () =>{ console.log(aaaa)}) ``` 是因为什么原因造成的呢,子组件不允许relativeTo父组件的元素吗?还是只能用relativeToViewport? 如果要做一个图片lazy-load的话,好像就没的解决了,我们目前的解决办法是在父组件对data做一个forEach做若干个监听, 但是感觉这样很不合理,希望交给子组件来做这个监听的行为 代码片段在这里: https://developers.weixin.qq.com/s/wkoNcYmG7wco
2019-11-25已知问题。一般复现路径非常复杂。我们会尽快修复。
线上版本频繁报webviewScriptErrorwebviewScriptError Framework inner error (expect END descriptor with depth 0 but get another) value@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1349138ve@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1279302i@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1350108n@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1246536https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1246724https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:100580b@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:2:1930global code@https://servicewechat.com/wx949e52dccecb899f/29/page-frame.html:1:72 最近线上版本经常会出现这个错误,但是真机调试和开发工具调试都不会出现改问题,请官方给查一下具体原因吧
2019-11-08