小程序简易双向绑定、基础组件、节点信息、分栏模式、初始渲染缓存

118 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

简易双向绑定

image.png

基础组件

什么是组件:

  • 组件是视图层的基本组成单元
  • 组件自带一些功能与微信风格一致的样式
  • 一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标记之间。
    注意:所有有组件与属性都是小写,以连接符-连接。

属性类型

image.png

公共属性

image.png

WXML节点信息

节点信息查询API可以用于获取节点属性、样式、在界面上的位置等信息。
最常见的用法是使用这个接口来查询某个节点的当前位置,以及界面的滚动位置。

  • 第一步:使用this.createSelectorQuery,返回selectorQuery实例对象
  • 第二步,query对象点select(最基本的方法)来绑定节点对象
  • 第三步:调用具体的方法来获取具体的信息
    如图所示: image.png

selectorQuery的方法

  1. in():将选择器的选取范围更改为自定义组件 component 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。返回值是SelectorQuery.
  2. exec():执行所有的请求。请求结果按请求次序构成数组,在 callback 的第一个参数中返回。返回值是NodesRef.
  3. select():在当前页面下选择第一个匹配选择器 selector 的节点。返回一个 NodesRef 对象实例,可以用于获取节点信息.返回值是NodesRef.
  4. selectAll():在当前页面下选择匹配选择器 selector 的所有节点.返回值是NodesRef.
  5. selectViewport():选择显示区域(可视区域)。可用于获取显示区域的尺寸、滚动位置等信息.返回值是NodesRef.

分栏模式

在PC等能够以较大屏幕显示小程序的环境下,小程序支持以分栏模式展示。分栏模式可以将微信窗口分为左右两半,各展示一个页面。
在app.json中同时添加“resizable”:true和“frameset”:true两个配置项就可以弃用分栏模式。<br/。 代码示例:

image.png

分栏适配要点

启用分栏模式后,一些已有代码逻辑可能出现问题,可能需要更改代码来使其能够在分栏模式下正确运行。

变更路由接口调用

如果在路由接口中使用相对路径,总是相对于最新打开的页面路径。
例如,在右栏打开一个新页面后,路由接口 [wx.navigateTo]即使是在左栏的页面中调用,跳转路径也将相对于右栏内页面的路径!
因此,应当将这样的路由接口改成 [Router]接口调用,如 this.pageRouter.navigateTo

初始渲染缓存

初始渲染缓存工作原理
  • 小程序页面的初始化分为两个部分
    • 逻辑层
    • 在启动页面时,尤其是小程序冷启动、(第一次打开小程序的时候逻辑比较多,可能会有空白现象出现。初始渲染缓存能解决这个问题)
静态初始渲染缓存

若想要弃用初始渲染缓存,最简单的方法是在页面的json文件中添加配置项“initalRenderingCache”:"static"

image.png