收藏
回答

希望微信官方开放一个API:提供子组件获取父组件的实例对象

在代码当中,模拟双向绑定,page调取组件可以使用

let pages = getCurrentPages();

let page = pages[pages.length - 1];

    page.setData({

    name:‘simple’

})

但是组件里调取组件就不行了,

使用this.triggerEvent()太闹心了,封装组件不能模拟双向绑定,求官方看看是否可以这一块做出更好的方案。


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

6 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2019-08-01

    我们一直也在考虑这里应该怎样设计比较合理。

    我们有种考虑是直接给个接口 selectParentComponent 来取父组件,但是感觉有点违背依赖关系,跨插件的时候也有和 selectComponent 一样的问题。

    或者考虑直接给个双向绑定机制。

    又或者做个类似 mobx 绑定机制来解决。

    后两者应该很快会做好。第一个我们再考虑下。

    2019-08-01
    赞同 1
    回复 6
    • Simp!e
      Simp!e
      2019-08-01
      感谢官方!
      2019-08-01
      回复
    • 陈式坚
      陈式坚
      2019-08-09

      非常支持

      2019-08-09
      1
      回复
    • 3.
      3.
      2019-08-21
      支持
      2019-08-21
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      2019-08-22回复Simp!e
      mobx 绑定已经做好了:https://github.com/wechat-miniprogram/mobx-miniprogram-bindings 。使用中有问题可以在那边提 issue 。
      2019-08-22
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      2019-08-22回复陈式坚
      同上。
      2019-08-22
      回复
    查看更多(1)
  • 凌柏超
    凌柏超
    2019-08-15

    子组件提供一个getParent方法

    2019-08-15
    赞同
    回复
  • f番茄花园
    f番茄花园
    2019-08-09

    为什么不让父组件向子组件传递 function 呢……?

    2019-08-09
    赞同
    回复
  • 糊糊湖
    糊糊湖
    2019-07-29

    把父实例传递给子组件

    2019-07-29
    赞同
    回复
  • 爱江山更爱美人
    爱江山更爱美人
    2019-07-29
    我会遵守法律的程序了
    2019-07-29
    赞同
    回复
  • Simp!e
    Simp!e
    2019-07-29

    大家都是写 triggerEvent()方法去让页面或者组件赋值改变值么?

    是不是很繁琐,原本高质量的组件还让使用组件的来处理值。。。。

    如果能有一个 获取父组件的实例 用 父组件实例去

    setData 那岂不是很好

    2019-07-29
    赞同
    回复 1
    • 小刺猬
      小刺猬
      2019-08-13
      可以用一个全局的数据对象来操作data,然后改变父子组件的展示
      2019-08-13
      回复
登录 后发表内容