一个被隐藏的组件,再次被显示出来时,是否可以通过特定的事件捕获到?
发布于 8 年前 作者 laixia 6726 次浏览 来自 官方Issues

自定义了一个组件,在 page 中控制显示或隐藏:<mycomponent wx:if="{{isShow}}" />

当 isShow === fasle 时,通过 wxml 查看dom树上响应的节点被删除了;

当重设 isShow 到 true 时,组件会被重新添加到 dom 树上,但是组件没有相应的 ready/created/attached 等事件。

请问大佬们,在组件内部如何能感知到组件被加载了? 因为我的组件中有 canvas,我想在 canvas 被加载到dom时做绘图动作。

2 回复

谢邀:使用自定义组件的生命周期:

Component({
  pageLifetimes: {
    show: function() {
      // 页面被展示
    },
    hide: function() {
      // 页面被隐藏
    },
    resize: function(size) {
      // 页面尺寸变化
    }
  }})
回到顶部