- for循环
1 | <!--open-type 注意需要修改为switchTab--> |
1 | Page({ |
<block>
标签
如果要一次性控制多个组件的展示与隐藏,可以使用一个 <block></block>
标签将多个组件包装起来,并在<block>
标签上使用wx:if
控制属性
注意:<block>
并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染
常用事件
- bindtap —— 类似于click事件
1 | <!--事件传参--> |
1 | Page({ |
- bindinput —— 文本框的输入事件
1 | <input bindinput="onInput"/> |
1 | onInput(event) { |
- bindchange —— 状态改变时触发
页面跳转
声明式导航:在页面上声明一个
<navigator>
导航组件,通过点击<navigator>
组件实现页面跳转- 导航到tabBar页面(特殊)
- url 表示要跳转的页面的地址,必须以 / 开头
- open-type 表示跳转的方式,必须为 switchTab
- 后退导航
- open-type 的值必须是 navigateBack
- delta 的值必须是数字,表示要后退的层级,如果只是后退到上一页面,则可以省略 delta 属性,因为其默认值就是 1
- url可用插值语法,例如:
url = "/pages/uploader/uploader?title=&id="
- 导航到tabBar页面(特殊)
编程式导航:调用小程序的导航 API,实现页面的跳转
- 导航到tabBar页面
- wx.switchTab
- 参数:url, success,fail,complete
- wx.switchTab
- 导航到非tabBar页面
- wx.navigateTo
- 参数:url, success,fail,complete
- wx.navigateTo
- 后退导航
- wx.navigateBack
- 参数:delta(默认为1), success,fail,complete
- wx.navigateBack
- 导航到tabBar页面
- 页面跳转携带参数,用跳转目标页面的
onload
事件去接收
生命周期函数
- 应用的生命周期函数
1 | App({ |
- 页面的生命周期函数
1 | Page({ |
自定义组件
1 | // html |
组件重要周期函数
created:组件实例刚被创建好的时候,created 生命周期函数会被触发, 此时还不能调用 setData,通常在这个生命周期函数中,只应该用于给组件的 this 添加一些自定义的属性字段
在组件完全初始化完毕、进入页面节点树后, attached 生命周期函数会被触发,此时, this.data 已被初始化完毕,这个生命周期很有用,绝大多数初始化的工作可以在这个时机进行(例如发请求获取初始数据)
在组件离开页面节点树后, detached 生命周期函数会被触发,退出一个页面时,会触发页面内每个自定义组件的 detached 生命周期函数 ,此时适合做一些清理性质的工作
组件所在页面的周期函数
生命周期函数 | 参数 | 描述 |
---|---|---|
show | 无 | 组件所在的页面被展示时执行 |
hide | 无 | 组件所在的页面被隐藏时执行 |
resize | Object Size | 组件所在的页面尺寸变化时执行 |
1 | // 组件重要周期函数 |
插槽
1 | <!--组件封装 html--> |
启用多个插槽
1 | Component({ |
多个插槽之间用name去区分
1 | <!--组件封装 html--> |
父子组件之间的通信
子向父传值
1 | <!--父html--> |
1 | // 父js |
父获取子对象
1 | <!--为子组件定义一个class--> |
1 | watchChild() { |