1.微信小程序
微信小程序的优势:
一是微信有海量用户,而且粘性很高,在微信里开发产品更容易触达用户;
二是推广app 或公众号的成本太高。
三是开发适配成本低。
四是容易小规模试错,然后快速迭代。
五是跨平台。
2.准备工作
登陆成功:
3.微信开发工具介绍
4.工作目录介绍
5.配置介绍
5.1.全局配置app.json
app.json
是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。普通快速启动项目里边的 app.json
配置.
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
字段的含义
-
pages
字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。 -
window
字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
完整的配置信息请参考 app.json配置
5.2. page.json
这里的 page.json
其实用来表示页面目录下的 page.json
这类和小程序页面相关的配置。
开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等。
页面的配置只能设置 app.json
中部分 window
配置项的内容,页面中配置项会覆盖 app.json
的 window
中相同的配置项。
6.视图层
WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。
6.1. 数据绑定
6.1.1普通写法
.wxml文件下
<view> {{ message }} </view>
.js文件Page模块下
Page({
data: {
message: 'Hello MINA!'
}
})
6.1.2组件属性
<view id="item-{{id}}"> </view>
Page({
data: {
id: 0
}
})
6.1.3 bool类型
不要直接写 checked="false",其计算结果是一个字符串
<checkbox checked="{{false}}"> </checkbox>
6.2 运算
6.2.1三目运算
<view hidden="{{flag ? true : false}}"> Hidden </view>
6.2.2算术运算
<view> {{a + b}} + {{c}} + d </view>
Page({
data: {
a: 1,
b: 2,
c: 3
}
})
6.2.3逻辑判断
<view wx:if="{{length > 5}}"> </view>
6.2.4字符串运算
<view>{{"hello" + name}}</view>
Page({
data:{
name: 'MINA'
}
})
ps:花括号和引号之间如果有空格,将最终被解析成为字符串.
6.3列表渲染
6.3.1 wx:for
项的变量名默认为 item
wx:for-item
可以指定数组当前元素的变量名
下标变量名默认为 index
wx:for-index
可以指定数组当前下标的变量名
<view wx:for="{{array}}">
{{index}}: {{item.message}}
</view>
Page({
data: {
array: [{
message: 'foo',
}, {
message: 'bar'
}]
}
})
渲染一个包含多节点的结构块 block最终不会变成真正的dom元素
<block wx:for="{{[1, 2, 3]}}">
<view> {{index}}: </view>
<view> {{item}} </view>
</block>
6.3.2 wx:key
配合wx:for
使用,用于提高效率。建议写上。
<view wx:for="{{array}}" wx:key="{{index}}">
{{index}}: {{item.message}}
</view>
6.4条件渲染
6.4.1 wx:if
<view wx:if="{{condition}}"> True </view>
6.4.2 hidden
<view hidden="{{condition}}"> True </view>
类似 wx:if
频繁切换 用 hidden
不常使用 用 wx:if