- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
this .triggerEvent( 'changeData' , { someValues: "test" }); console.log( this .properties.someValues) // 此处log出来的someValues 不是上面设置的test 而且之前的值 |
在 自定义组件中 调用 triggerEvent 调用父容器中的某一个方法 更新 data中的值,这个值 会通过 properties 传递给 子组件。 子组件中在2.7.2之前的版本都可以实时获取到最新的值,但是在 2.7.2版本中获取不到
感谢反馈。问题已确认,发生在如下场景中:
父组件更新触发子组件的一些回调(包括生命周期、observer 等);
子组件在回调中直接 triggerEvent ;
triggerEvent 导致父组件再次 setData ,此时,子组件不会马上接收到 setData 的结果。
我们正在设法处理这个问题。临时的解决方案是使用 setTimeout 或者 wx.nextTick 将子组件中的 triggerEvent 调用或读取 this.data / this.properties 的代码延迟一些。
好的
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
https://developers.weixin.qq.com/s/wClj9mmE7R9y 抱歉,之前没单独建测试项目 以为是任何场景必现,所以没提供测试代码片段,刚建了个测试项目发现是特殊情况 必现。