微信小程序开发手册(配置和视图层)

1.微信小程序

官网:https://mp.weixin.qq.com

微信小程序的优势:
一是微信有海量用户,而且粘性很高,在微信里开发产品更容易触达用户;
二是推广app 或公众号的成本太高。
三是开发适配成本低。
四是容易小规模试错,然后快速迭代。
五是跨平台。

2.准备工作

登陆成功:


image.png

3.微信开发工具介绍

image.png

4.工作目录介绍

1535877411954.png

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"
  }
}

字段的含义

  1. pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
  2. window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
    完整的配置信息请参考 app.json配置

5.2. page.json

这里的 page.json 其实用来表示页面目录下的 page.json 这类和小程序页面相关的配置。

开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等。

页面的配置只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.jsonwindow 中相同的配置项。

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 微信小程序在无论在功能、文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们...
    未央大佬阅读 2,410评论 0 12
  • ******************逻辑层****************** 1:app.json文件用来对微信...
    名字_都被占了阅读 1,334评论 0 2
  • 最近做了一个投票的微信小程序,开发过程主要还是参考官方文档:https://mp.weixin.qq.com/de...
    june5253阅读 22,246评论 1 11
  • 老妈牙口不好,又不愿装假牙,又喜欢把饭菜咀嚼得很细吃,这可让我很为难。每天做菜都要想办法做两个酥软的菜,还...
    紫微妈咪阅读 306评论 0 1
  • 3.9……234天 【心动不如行动】 心动不如行动,虽然行动不一定会成功,但不行动则一定不会成功。生活不会因为你想...
    吕志萍阅读 132评论 0 0

友情链接更多精彩内容