收藏
回答

微信小程序组件问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 自定义组件 工具 6.6.7 2.0.4

- 需求的场景描述(希望解决的问题)

我在父级A调用子组件B,B数据的request方法是写在自身ready里的。


这样我就遇到了一个问题。我在其他页面修改了这份数据。再回到父级A进行刷新,其实B中ready里的方法并不会执行。页面无法实时更新。


- 希望提供的能力

在不改变页面结构的前提下,有解决问题的方法吗?


ps 我并不希望通过A传值给B这一方法

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

2 个回答

  • 刘哲
    刘哲
    2018-07-09

    问题描述不是十分清楚。

    2018-07-09
    有用
    回复 2
    • kygo
      kygo
      2018-07-10

      我再描述下啊。父级A是一个tarbar页面。A页面中调用了一个组件B。用户第一次进入A的时候会触发B的ready方法。也就是组件B生命周期中“布局完成后执行的函数”。然后我不管怎么跳页面刷新页面,都再也无法触发这个ready方法了。


      我想重新执行这个ready方法

      2018-07-10
      回复
    • 刘哲
      刘哲
      2018-07-12

      你确定B是一个组件吗?组件是没有什么ready方法的,页面才会有。

      2018-07-12
      回复
  • Galina
    Galina
    2018-07-09

    可以把组件B里面数据请求的包装成一个函数放到methods里面。然后在A组件直接调用。

    2018-07-09
    有用
    回复 2
    • 。。。。
      。。。。
      2018-08-03

      // 调用组件里面的onshow

      this.selectComponent('#picker-date').onshow()


      是这么调用吗?一直报错,怎么解决?this.selectComponent(...).onshow is not a function


      2018-08-03
      回复
    • Galina
      Galina
      2018-08-03回复。。。。

      你这onshow是你自定义的方法吗? 生命周期没法主动调用把。


      你把ready里面请求的那段写成B组件的一个方法,比如叫getData。

      然后在A里面this .selectComponent( '#picker-date' ).getData()

      2018-08-03
      回复
登录 后发表内容