收藏
回答

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

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

let pages = getCurrentPages();

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

    page.setData({

    name:‘simple’

})

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

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


最后一次编辑于  07-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

6 个回答

  • LastLeaf
    LastLeaf
    08-01

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

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

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

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

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

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

      非常支持

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

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

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

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

    setData 那岂不是很好

    07-29
    赞同
    回复 1
    • 淳祖军
      淳祖军
      08-13
      可以用一个全局的数据对象来操作data,然后改变父子组件的展示
      08-13
      回复
  • 爱中华
    爱中华
    07-29
    我会遵守法律的程序了
    07-29
    赞同
    回复
  • 糊糊湖
    糊糊湖
    07-29

    把父实例传递给子组件

    07-29
    赞同
    回复
  • f番茄花园
    f番茄花园
    08-09

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

    08-09
    赞同
    回复
  • 凌柏超
    凌柏超
    08-15

    子组件提供一个getParent方法

    08-15
    赞同
    回复