小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有以下场景:
组件A1 -> 跳转组件A2 -> 跳转组件A3
理论上希望A3展示的时候, 能保持A1, A2的状态不变. 这样在销毁A3时, A2能展示跳转A3前的状态.
H5下, 可以new多个实例来实现. 那么小程序里有什么解决办法?
ps. 现在唯一能想到的思路是自己维护组件快照, 把状态维护成一个队列. 但是问题是, 比如组件有一些dom操作怎么保存等等...
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
维护插件多个实例的意义是?
是要提升加载速度吗?
在我看来,如果是要维护数据结构的话,可以挂在全局上。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
小程的组件不就是多实例的嘛,每个组件单独维护自己的状态
<page>
<My-Component id="A"></My-Component>
<My-Component id="B"></My-Component>
<My-Component id="C"></My-Component>
</page>
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
维护插件多个实例的意义是?
是要提升加载速度吗?
在我看来,如果是要维护数据结构的话,可以挂在全局上。
Component只是一个容器,没get到你的点
现在希望关闭C的时候, B能保持在触发C前的状态(比如滚动的位置, 元素的选择), 同理, 关闭B也能让A保持原状态.
H5的做法是ABC三个不同的组件, 通过z-index控制, 页面表现为B盖在A上, C盖在B上.
小程序里为了节约代码成本, 希望能在一个组件里实现ABC功能(UI都是相同的, 只是数据不一样). 于是就出现了问题里的思考.
小程的组件不就是多实例的嘛,每个组件单独维护自己的状态
<page>
<My-Component id="A"></My-Component>
<My-Component id="B"></My-Component>
<My-Component id="C"></My-Component>
</page>