We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
小程序的渲染方式为Hybrid,基于双线程模型,运行环境分为渲染层和逻辑层,分别由2个线程管理:渲染层使用我们熟知的Webview渲染,逻辑层采用了JsCore线程运行JS脚本。 那么何为渲染层,何为逻辑层呢?
我们可以用一张图来看(字丑):
我们了解了何为渲染层以及逻辑层,那么问题就来了:既然我们写的JS逻辑代码都被放到了单独的逻辑层去控制运行了,那么我们怎么操作DOM呢?怎么去动态地改变页面数据呢? 小程序是这样做的:
如图:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
何为双线程
小程序的渲染方式为Hybrid,基于双线程模型,运行环境分为渲染层和逻辑层,分别由2个线程管理:渲染层使用我们熟知的Webview渲染,逻辑层采用了JsCore线程运行JS脚本。
那么何为渲染层,何为逻辑层呢?
我们可以用一张图来看(字丑):
基于双线程的数据驱动
我们了解了何为渲染层以及逻辑层,那么问题就来了:既然我们写的JS逻辑代码都被放到了单独的逻辑层去控制运行了,那么我们怎么操作DOM呢?怎么去动态地改变页面数据呢?
小程序是这样做的:
简单看:WXML => 模拟为DOM树 => 对比前后两个模拟DOM树的差异 => 将差异应用到真正的DOM数上
如图:
The text was updated successfully, but these errors were encountered: