alibaba / GaiaX

动态模板引擎是一套轻量化、跨平台、高性能的纯原生移动端卡片渲染动态化解决方案
https://youku-gaiax.github.io/
Apache License 2.0
1.2k stars 142 forks source link

bindData覆盖JS插入数据问题 #426

Open JohnTsaii opened 1 year ago

JohnTsaii commented 1 year ago

描述这个问题

  1. 我在js onReady生命周期时,往this.data插入了一条数据a=b
  2. 这个时候this.data 里包含了 a=b
  3. 外部重新bindData 这个时候this.data被覆盖了 a=b 没了,这个时候不会重新触发onReady 我无法再插入一条数据 这种问题你们那边是如何解决的
msliu3 commented 1 year ago

1.bindData是覆盖逻辑,会以新data为准。可以在覆盖之前,手动取出来原有数据(native方式)putAll做一个更新再bindData 2.或者在bindData之后调用用onShow或者onReuse生命周期,在这两个生命周期(js方式)再做赋值逻辑

JohnTsaii commented 1 year ago

方案二:onReuse 需要手动调用吗,我看iOS bindData的时候是组件内部调用的,Android好像没实现这个逻辑?这个差异是没对齐么

biezhihua commented 11 months ago

@JohnTsaii JS生命周期我会重新处理