第一章
基础准备
sitemap.json
类似于seo优化 默认该小程序会被索引
“action”: “disallow”,
小程序将不再被索引
project.config.json
有时候黄色索引提示很烦,这样取消
“checkSiteMap”: false,
全局配置项
- app.json
全局配置项
- index.json
页面配置项
会覆盖全局的内容,只能有window配置
js逻辑交互
- app.js
入口文件 通过调用app()启动整个小程序
- 页面js
通过调用page()函数来创建运行页面
- 普通js封装公共函数
const formatTime = xxx //定义
module.exports = { //暴露
formatTime : formatTime
}
组件
scroll-view
- 可滚动的视图区域
- 常用来实现滚动列表效果
<view class="wai">
<scroll-view class="nei" scroll-y>
<view></view>
<view></view>
<view></view>
</scroll-view>
</view>
//外面的盒子固定高度 里面的盒子直接滚动 记得给scroll-y
swiper+swiper-item
- 轮播图
<view class="wai">
<swiper class="nei">
<swiper-item></swiper-item>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
</swiper>
</view>
常用属性
text
selectable属性 长按选中
rich-text
富文本 类似于vue中的v-html 可以解析内容
<rich-text nodes="<h1>你好</h1>"></rich-text>
button
<view>
<button>正常按钮</button>
<button type="primary">绿色类型按钮</button>
<button type="primary" size="mini">mini按钮</button>
<button type="primary" size="mini" plain>镂空按钮</button>
</view>
image
api分类
不同角色权限
- 添加成员可以在管理后台操作
小程序版本发布推广
-
上传代码
工具栏有上传按钮
-
提交审核
后台版本管理 提交审核
-
发布
审核通过的版本 点击发布
推广
后台–设置–基本设置–基本信息–小程序码下载
第二章
模板与配置
mustache语法
-
绑定内容
-
绑定属性
-
三元运算符
事件绑定
常用事件绑定
事件对象event属性列表
target和currentTarget区别
比如事件冒泡了
target表示触发的源头
currentTarget表示触发的本身
如何给data里的数据赋值
this.setData(dataObject)
事件传参
小程序的传参不能调用直接传递 应该这样
- 添加个属性 data-参数名:参数值
小程序中如何拿到参数呢?
- e.target.dataset.参数名
小程序中输入监听input在e.detail
条件渲染
- wx:if=“{{}}” wx:elif wx:else
- hidden=“” 隐藏
代码块block
使用block可以变成一个整体
列表渲染
可以手动修改index和item
<view wx:for="{{array}}">
索引是:{{index}} 值是:{{item}}
</view>
wx:for-index="idx"
wx:for-item="itm"
wxss模板样式
wxss特性
rpx单位 总宽度750
@import导入
@import 'xxx';
rpx和px换算
全局配置
常用window
下拉刷新
“enablePullDownRefresh”: true,
上拉触底
“backgroundColorBottom”: “100”,
tabbar
tabbar的页面必须在pages放前面
list属性
页面配置文件
页面配置会覆盖全局的window
网络数据请求
小程序中网络请求有限制
- 只能是请求https类型
如果没有https的请求 只有http 可以修改本地设置 开启不检测合法域名(只能开发调试时使用)
- 必须把接口域名添加到信任列表中
添加信任需要到微信小程序开发者后台 添加
发起get请求
发起post请求
第三章 视图与逻辑
导航跳转
- 声明式跳转到tabbar页面
- 编程式跳转到tabbar
- 声明式跳转到非tabbar页面(默认的 可以不写)
- 编程式跳转到非tabbar页面
- 声明式后退
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pbZsGngY-1653540728645)(C:%5CUsers%5C%E9%99%88%E6%84%8F%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20220524233237055.png)]
- 编程式后退
导航传参
声明式
-
传递参数只需要?分割 键值对=相连 &隔开
-
/pages/index/index?id=1&age=18
编程式
-
也是url地址后面接着写参数
初始化接收参数
onload事件中获取(options)
页面事件
下拉刷新
onPullDownRefresh函数 用来监听下拉刷新
wx.stopPullDownRefresh 用来停止下拉刷新的动画
上拉加载
onReachBottom 用来监听上拉触底
配置上拉触底距离 在json里
提示框
wx.showLoading 显示
wx.hideLoading 隐藏
自定义编译模式
每次编译完都要重新点击回到页面很麻烦
点击编译模式 可以设置
生命周期
应用生命周期
页面生命周期
过滤器(wxs)
语法
使用方法
引入外联wxs
组件相关
组件中用到的数据是Component()的数据
组件中的事件在methods
创建组件
组件目录components
引入组件
局部引用
全局引入
样式隔离
-
需要注意 组件的样式是隔离的
-
全局样式也没办法生效
-
组件中样式只有class会隔离 id 标签等等不会隔离样式
修改隔离策略
如果组件和页面需要互相控制样式
properties属性
类似于vue的prop 用来接收外面传递进来的数据
区别在于 这个属性是可读写的 而vue中只能读
监听器
类似于vue的监听器
(new n1,new n2)
监听对象内所有属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RKVxOWOO-1653540728654)(http://bed3.52xhl.top/202205252247519.png)]
纯数据字段
就是 不用在渲染的 data内的属性
组件生命周期
全新的生命周期函数定义方式
在组件中监听页面的生命周期
pagelifetimes节点
插槽
单个插槽时 只需要定义slot 使用插槽即可
多个插槽时 插槽起个name 和页面内的slot对应上即可
组件通信
属性绑定
父传子
事件绑定
子传父
获取组件实例
behaviors代码共享
代码共享的中间件
只是存放共享的一些代码
只要调用就会和本地的合并
可以引入多个behaviors也可以嵌套引入
第五章
npm
微信支持的npm包有限
vant weapp组件库
安装使用
- npm init构建package.json
- npm安装命令
- 开发者工具=》构建npm包
- 详情=》本地设置=》使用npm包
- app.json 不实用stylev2
使用方法
引入组件
css自定义变量
promise化
使用方法
吧所有请求 promise化挂载到wxp
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJsVBuJa-1653540728669)(http://bed3.52xhl.top/202205261130513.png)]
全局数据共享
使用方法
组件中使用
小提示
app.json全局配置的一些东西也可以通过编程修改 比如
wx.navigationBarTitleText
有时候频繁调用的代码需要根据一定规则实现某些东西
可以使用 传入回调函数 ()=>{} 接收里面cb&&cb