-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skyline渲染模式重新进界面wxs模块中数据不初始化 #209
Comments
webview 的 wxs 运行原理和 skyline 不同。简单来说, webview 上的 wxs 是需要在每个线程上分别执行的(每个页面是一个独立的线程), skyline 是纯粹的小程序生命周期内单实例的。 所以 wxs 中不应该保存状态。 |
现在的情况是WebView渲染时wxs不保存状态,但是skyline渲染时wxs保存状态。我的项目从WebView转成用Skyline后界面结果就与原来不一样了,费挺大劲才发现是这个原因。这算不算是Skyline的bug? |
我不是很清楚 skyline 具体的细节,不过从基础架构上看应该就是这样的了。应该也没法改,属于是可预见的非兼容性变更。 已经请求相关同事 document 相关详情。 |
P.S. 考虑到 webview 在特殊情况下可能会刷新重启——刷新然后尝试根据 data 恢复到刷新前的状态。在 webview 中保存 wxs 状态也是不可靠的,可能会丢失。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
发现个使用Skyline引擎时会出现的问题。做了一个点击计数的界面,使用Skyline后出现异常。原本WebView渲染重新进界面计数器归零,用Skyline渲染重新进界面次数保留。
代码片段连接:https://developers.weixin.qq.com/s/Bjb9iQmx7BUP
代码截图:
Wxml:
Wxs:
Js:
跳转到计数界面,点几下计数,反回初始界面再跳转到计数界面。运行结果:
WebView渲染:
Skyline渲染:
js中的数据是都归零的。原本用WebView引擎时wxs模块中的全局变量是归零的,只有Skyline引擎下没有归零。
The text was updated successfully, but these errors were encountered: