一、组件
- 轮播图
用到swiper、swiper-item,swiper是滑块视图容器,其中只可放置swiper-item组件,否则会导致未定义的行为。swiper-item仅可放置在swiper组件中,宽高自动设置为100%。swiper属性有:
(1)indicator-dots:布尔型,默认值为false,是否显示面板指示点
(2)indicator-color:默认值为rgba(0, 0, 0, .3),指示点颜色
(3)indicator-active-color:默认值为#000000,当前选中的指示点颜色
(4)autoplay:布尔型,默认值为false,是否自动切换
......
2.地图
用到map,小程序内地图组件应使用同一 subkey,可通过 layer-style(地图官网设置的样式 style 编号)属性选择不同的底图风格。 组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。其属性有:
(1)longitude:数值型,中心经度
(2)latitude:数值型,中心纬度
(3)sale:数值型,缩放级别,取值范围为3-20,默认值为16
(4)markers:数组,标记点,用于在地图上显示标记的位置,属性有:id(标记点 id)、latitude(纬度)、longitude(经度)、title(标注点名)、iconPath(显示的图标)......还有marker 上的气泡 callout、marker 上的气泡label。
(5)polyline:数组,路线,指定一系列坐标点,从数组第一项连线至最后一项,属性有points(经纬度数组)、color(线的颜色)、width(线的宽度)、dottedLine(是否虚线)......
......
二、框架
1.数据绑定
WXML 中的动态数据均来自对应 Page 的 data。数据绑定使用 Mustache 语法(双大括号)将变量包起来,组件属性、,控制属性、关键字需要在双引号之内,并且可以在 {{}} 内进行简单的运算,有三元运算、算数运算、逻辑判断、字符串运算、数据路径运算,也可以在 Mustache 内直接进行组合,构成新的对象或者数组。
2.列表渲染
(1)wx:for:在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前下标的变量名,wx:for 也可以嵌套。
(2)block wx:fo:r类似 block wx:if,也可以将 wx:for 用在<block/>标签上,以渲染一个包含多节点的结构块。
(3)x:key:如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容,switch 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。
wx:key 的值以两种形式提供意识字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。二是保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。如果不提供 wx:key,会报一个 warning。
3.条件渲染
(1)wx:if:在框架中,使用 wx:if="" 来判断是否需要渲染该代码块,也可以用 wx:elif 和 wx:else 来添加一个 else 块。
(2)block wx:if:因为 wx:if 是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个 <block/> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。而且 <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。
4.模板
WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用,并且模板拥有自己的作用域,只能使用 data 传入的数据以及模板定义文件中定义的 <wxs /> 模块。
(1)定义模板:使用 name 属性,作为模板的名字。然后在<template/>内定义代码片段,
(2)引用模板:使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板。
(3)导入模板:WXML 提供两种文件引用方式import和include。import可以在该文件中使用目标文件定义的template,在 index.wxml 中引用了 item.wxml,就可以使用item模板,import 有作用域的概念,即只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template。include 可以将目标文件除了 <template/> <wxs/> 外的整个代码引入,相当于是拷贝到 include 位置。
三、API
1.wx.getSystemInfo(Object object):获取系统信息,属性有:
(1)success:接口调用成功的回调函数,其参数有:brand(设备品牌)、model(设备型号)、version(微信版本号)、system(操作系统及版本)、platform(客户端平台)......
(2)fail:接口调用失败的回调函数
(3)complete:接口调用结束的回调函数(调用成功、失败都会执行