微信小程序开发基础笔记

官方文档:微信官方文档 | 微信开放文档 (qq.com)

一、注册等

首先需要注册一下平台(Appid开发者d 和上传管理等都需要)

微信公众平台 (qq.com)(找不到就点这个 小程序 (qq.com))

我的Appid:----------------------

二、 工具

1、下载微信官方小程序开发工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)

三、文件结构

四、指南(其实是不知道该放在那一块的知识)

有啥不会的去官网看,官网地址在笔记开头

1、常用单位 ‘ rpx ’

2、推荐使用 flex布局方式

五、框架-组件-API

1、 标签 相当于 html 中的div

2、 标签 相当于 html 中的span

3、

​ 用于展示微信开放的数据(获取用户头像昵称等信息)
​ 现在已经调整了,在开发工具中可以获取到,但是真机上还是需要用 button 的 open-type属性
​ 详情见:button | 微信开放文档 (qq.com)

4、绑定事件

// 绑定事件例子
<view bindtap="{{事件处理函数}}">点击事件处理</view>
/**使用 bind 来绑定事件tap事件 手指触摸后马上离开  (类似click点击事件)
*/

5、路由跳转

  • wx.redirectTo(Object object)

    // 例子
    // dom 创建点击事件
    <button bindtap="tohome">跳转</button> tohome(){// wx.navigateTo({})带返回按钮wx.navigateTo({// 注意:这里url 必须是根目录app.json下pages数组中存在的url: '/pages/index/index', // 注意路径前加 “/”})},
    
  • wx.navigateTo(Object object)

    // 例子
    // dom 创建点击事件
    <button bindtap="tohome">跳转</button> tohome(){// wx.redirectTo({}) 不带返回按钮  // 带一个返回首页(首页就是app.json中pages数组下第一个路径)wx.redirectTo({// 注意:这里url 必须是根目录app.json下pages数组中存在的url: '/pages/index/index', // 注意路径前加 “/”})},
    

6、轮播图


7、小程序默认启动首页

指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。

// app.json 文件中
{"entryPagePath": "pages/index/index"
}

8、数据绑定

  • WXML 中的动态数据均来自对应 Page(js文件) 的 data

  • 简单绑定

    // 例子// wxml
    <view> {{ message }} </view>// js
    Page({data: {message: 'Hello MINA!'}
    })
    

    更多见官网:数据绑定 | 微信开放文档 (qq.com)

9、列表渲染(wx:for)

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

// 例子
// wxml  与vue不同的是,不用写 item in 和 index
<view wx:for="{{array}}">{{index}}: {{item.message}}
</view>// js
Page({data: {array: [{message: 'foo',}, {message: 'bar'}]}
})

使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">{{idx}}: {{itemName.message}}
</view>

更多见官网:列表渲染 | 微信开放文档 (qq.com)

10、条件渲染(wx:if)

在框架中,使用 wx:if="" 来判断是否需要渲染该代码块:

<view wx:if="{{condition}}"> True </view>

也可以用 wx:elifwx:else 来添加一个 else 块:

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

block wx:if

因为 wx:if 是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个 <block/> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。

<block wx:if="{{true}}"><view> view1 </view><view> view2 </view>
</block>

更多见官网:条件渲染 | 微信开放文档 (qq.com)

11、模板(template)

WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用

定义模板

使用 name 属性,作为模板的名字。然后在<template/>内定义代码片段,如:

<!--index: intmsg: stringtime: string
-->
<template name="msgItem"><view><text> {{index}}: {{msg}} </text><text> Time: {{time}} </text></view>
</template>

使用模板

使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:

<template is="msgItem" data="{{...item}}"/>Page({data: {item: {index: 0,msg: 'this is a template',time: '2016-09-15'}}
})

is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板:

<template name="odd"><view> odd </view>
</template>
<template name="even"><view> even </view>
</template><block wx:for="{{[1, 2, 3, 4, 5]}}"><template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
</block>

更多见官网:模板 | 微信开放文档 (qq.com)

12、引用、引入

WXML 提供两种文件引用方式importinclude

import

import可以在该文件中使用目标文件定义的template,如:

在 item.wxml 中定义了一个叫itemtemplate

<!-- item.wxml -->
<template name="item"><text>{{text}}</text>
</template>

在 index.wxml 中引用了 item.wxml,就可以使用item模板:

<import src="item.wxml"/>
<template is="item" data="{{text: 'forbar'}}"/>

include

include 可以将目标文件除了 <template/> <wxs/> 外的整个代码引入,相当于是拷贝到 include 位置,如:

<!-- index.wxml -->
<include src="header.wxml"/>
<view> body </view>
<include src="footer.wxml"/><!-- header.wxml -->
<view> header </view><!-- footer.wxml -->
<view> footer </view>

更多见官网:引用 | 微信开放文档 (qq.com)

微信小程序开发个人笔记(2)相关推荐

  1. 微信小程序开发学习笔记一

    微信小程序学习笔记(一) 环境使用及创建项目 文件目录设置 JS文件 环境使用及创建项目 环境使用:微信开发者工具 一个微信号只能开发一个微信小程序. 在微信小程序开发手册下载最新版本,学习不要bet ...

  2. 微信小程序开发入门笔记

    1. 编写目的 关于微信小程序开发界面绘制方面的笔记. 2. 资源推荐 微信小程序开发文档:前往文档 图标库:非常好用的图标库,并且可以在线选择颜色大小等.前往iconfont 微信小程序UI库(iV ...

  3. 基于有Vue基础的微信小程序开发学习笔记

    微信小程序开发 文章目录 微信小程序开发 一.微信小程序介绍 二.小程序结构目录 1.小程序的文件结构 2.基本项目目录 三.配置文件详解 1.全局配置文件 2.页面配置文件 3.sitemap配置 ...

  4. 微信小程序开发学习笔记007--微信小程序项目01

    技术交流QQ群:170933152 今天做项目 小程序开发必备基础 如何独立开发一个项目 豆瓣电影 需要的基础: HTML+CSS JavaScript 网络 先理解需求-->了解项目流程,项目 ...

  5. 微信小程序开发学习笔记004--微信小程序语法结构

    今天讲微信小程序的语法结构 技术交流QQ群:170933152 数据绑定:把数据声明后显示在页面上 渲染:条件渲染,循环渲染 模板:某个小需求,模块封装成模板 事件:点击一个按钮触发一个事件,发送一个 ...

  6. 微信小程序开发学习笔记002--微信小程序框架解密

    1.今天内容比较多, 框架解密 • 目录结构 • 配置文件详解 • 逻辑层 • Api简介 ----------------------- 2.打开微信开发工具,   点击添加项目,选择无appid模 ...

  7. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序

    第一天,认识微信小程序,第一个微信小程序 1.什么是微信小程序? 是h5网页嘛?不是 微信张小龙说: 小程序是一种不需要下载安装即可使用的应用, 它实现了应用"触手可及"的梦想,用 ...

  8. 微信小程序开发自学笔记 —— 九、微信开发者工具

    微信开发者工具 介绍 由于小程序渲染和逻辑分离的运行机制与传统的网页存在差异,所以无法使用传统的网页的开发调试工具. 开发者可以借助微信开发者工具完成小程序的代码开发.编译运行.界面和逻辑调试.真机预 ...

  9. 微信小程序开发学习笔记006--微信小程序组件详解02

    技术交流QQ群:170933152 案例7:开关选择器 案例8:各种图标 案例9:页面跳转 案例10:多媒体音视频 案例11:嵌入地图 案例12:画布:在上面可以画柱状图等等. 今天继续讲组件: 登录 ...

最新文章

  1. 微软桌面5.0新增时间线功能
  2. jquery 二级导航
  3. 【数据竞赛】基于LSTM模型实现共享自行车需求预测
  4. uid(组件id) = userId + appId (android多用户)
  5. 项目管理修炼之道之估算工作
  6. python根据年月日计算天数_「每日一练」Python实现输入年月日计算第几天
  7. 黄渤高情商:小S和林志林同时掉到水里,你先救谁
  8. 【剑指offer】出现次数超过一半的数字
  9. maven配置eclipse案例及命令
  10. OpenGL超级宝典(第7版)之第七章顶点处理与绘图命令
  11. Sketch(一)——介绍、安装
  12. 2021-2027全球与中国智能访客管理系统市场现状及未来发展趋势
  13. android自定义桌面(launcher)
  14. 钛媒体2022 EDGE AWARDS全球创新评选之「年度最佳企业服务品牌」揭榜
  15. 蓝牙广播数据格式和动态改变
  16. 怎么使用jquery中ajax来获取数据,
  17. 计算机毕业设计SSM飞羽羽毛球馆管理系统【附源码数据库】
  18. 说一下字典的:addEntriesFromDictionary用法
  19. cad指定服务器名称,天正打开后CAD显示服务器名称为空? CAD 服务器名称为空
  20. A系统给B系统转100块钱如何实现?

热门文章

  1. 2021数字电路课程设计 一位十进制数加减法运算电路
  2. 基于Java毕业设计智能快递分拣系统源码+系统+mysql+lw文档+部署软件
  3. 用 Python 验证股神巴菲特的投资经验
  4. # Day3 2023.3.18
  5. Linux系统编程基本命令
  6. js获得两日期之间的天数
  7. 计算机-华宇平台负责人-小彬鑫
  8. 7-5 计算职工工资 (15分)
  9. 离散时间傅里叶变换(理解推导)
  10. 2012年10月27日沈阳WebLogicFans论坛User Group线下活动