微信小程序中的数据渲染


1、小程序和浏览器中有什么不同

  浏览器中渲染是单线程的。

       而在小程序中的运行环境分成渲染层和逻辑层, WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层。

2、小程序中如何渲染

  WXML模板使用 view 标签,其子节点用 {{ }} 的语法绑定一个 msg 的变量。

<view>{{ msg }}</view>

  在 JS 脚本使用 this.setData 方法把 msg 字段设置成 “Hello World”。

Page({
  onLoad: function () {
    this.setData({ msg: 'Hello World' })
  }
})

  总结:

    1.渲染层和数据相关。

    2.逻辑层负责产生、处理数据。

    3.逻辑层通过 Page 实例的 setData 方法传递数据到渲染层。

3、小程序中通讯模型

  小程序的渲染层和逻辑层分别由2个线程管理:

  渲染层的界面使用了WebView 进行渲染;

  逻辑层采用JsCore线程运行JS脚本。

  一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微信客户端(下文中也会采用Native来代指微信客户端)做中转,逻辑层发送网络请求也经由Native转发。

 

 

4、数据驱动的思想

  在开发UI的过程中,程序需要维护很多变量状态,同时要操作对应的UI元素。随着页面越来越复杂,我们需要维护的变量越来越多,同时要处理的界面上的交互也越来越多,整个程序会变的越来越复杂。

       通常情况下视图和变量的状态是相关联的,如果有某种方法可以让状态和视图绑定在一起,那就可以让我们省去修改视图的工作,这个方法就叫做数据驱动。

       在有了框架之后,我们一般很少会采用直接去修改视图的方式,更新界面了,绝大多数情况,都会通过操作数据的方式,来更新视图。通过数据去驱动视图渲染。 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM