收藏
回答

基础库2.7.2问题反馈

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 7.0.4 2.7.2

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo



this.triggerEvent('changeData', {
    someValues: "test"
});
 
console.log(this.properties.someValues) // 此处log出来的someValues 不是上面设置的test 而且之前的值


在 自定义组件中 调用 triggerEvent 调用父容器中的某一个方法 更新 data中的值,这个值 会通过 properties 传递给 子组件。   子组件中在2.7.2之前的版本都可以实时获取到最新的值,但是在 2.7.2版本中获取不到

回答关注问题邀请回答
收藏

2 个回答

  • LastLeaf
    LastLeaf
    2019-06-24

    感谢反馈。问题已确认,发生在如下场景中:

    1. 父组件更新触发子组件的一些回调(包括生命周期、observer 等);

    2. 子组件在回调中直接 triggerEvent ;

    3. triggerEvent 导致父组件再次 setData ,此时,子组件不会马上接收到 setData 的结果。

    我们正在设法处理这个问题。临时的解决方案是使用 setTimeout 或者 wx.nextTick 将子组件中的 triggerEvent 调用或读取 this.data / this.properties 的代码延迟一些。

    2019-06-24
    有用
    回复 1
    • 2019-06-25

      好的

      2019-06-25
      回复
  • 是小白啊
    是小白啊
    2019-06-21

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-06-21
    有用
    回复 1
    • 2019-06-24

      https://developers.weixin.qq.com/s/wClj9mmE7R9y  抱歉,之前没单独建测试项目 以为是任何场景必现,所以没提供测试代码片段,刚建了个测试项目发现是特殊情况 必现。

      2019-06-24
      回复
登录 后发表内容