持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
json:配置信息
- 小程序配置 app.json:根目录下的全局配置文件,包括了小程序的页面路径,全局窗口样式等API
- 工具配置 project.config.json:项目编辑器层的配置文件,包括是否支持ES6等API
- 页面配置 page.json:页面的窗口表现进行配置API
wxml:模板文件:通常模板文件
数据绑定
- 数据来源js文件中Page中的data属性
- 使用{{}}来访问data中的属性
逻辑操作
- 条件判断:wx:if/wx:elif/wx:else
- 循环:wx:for
标签
与通常html标签有点不同,微信提供了一套标签
block 标签 代码片段用于逻辑操作,操作完成之后不会展示到页面
模板
定义模板:使用name命名模板
<template name="xxx">
<view>
{{index}}
</view>
</template>
使用模板: 用is来引用申明过的模板,data来传递参数
<template is="msgItem" data="{{...item}}"/>
可以理解为template中使用的内容就是data中申明的内容,正常传递应该是{{index:item.index}},使用三个点就是把item中的属性当参数传递,可并存如{{...item,aa:'xxx'}}
is可以使用Mustache语法
<template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
import:导入文件中定义的template,但不会导入文件中其它内容,也不会导入文件中导入的template。 include:导入文件中除了template,wxs外的整个代码引入。
事件
写法:bind/catch: 事件名 或 bind/catch事件名
bind/catch区别:
- bind冒泡事件,
- catch非冒泡事件
事件对象:
| 属性名 | 类型 | 说明 |
|---|---|---|
| type | String | 事件类型 |
| timeStamp | Integer | 事件生成时的时间戳 |
| target | Object | 触发事件的组件的一些属性值集合 |
| currentTarget | Object | 当前组件的一些属性值集合,冒泡事件中使用 |
| detail | Object | 额外信息,如form提交则detail中会存在value属性对应form中的值 |
target/currentTarget:
| 属性名 | 类型 | 说明 |
|---|---|---|
| id | String | 标签id |
| dataset | Object | 对应标签上的data-属性名 |
dataset: 在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.currentTarget.dataset 中会将连字符转成驼峰elementType。