微信小程序路由
- 路由定义
- app.json 文件中进行定义
- pages必须先定义
- 可以定义tabBar页面
- tabBar配置中进行配置
路由方法区别
- reLaunch——会关闭之前所有页面(如果welcome和home都没有关闭,那么这两个页面全部关闭),然后跳转到一个页面中
- redirectTo——会关闭当前页面(现有welcome和home页面,如果home执行方法,那么关闭home),然后进行跳转,当返回的时候,会返回到当前页面的上一个页面
- navigateTo——不会关闭任何页面,然后执行跳转
- switchTab——它只能跳转到tabBar页面,navigateTo不能跳转到tabBar页面
路由传参
- 查询参数传递
- switchTab不能使用查询参数传递
- reLaunch、redirectTo、navigateTo可以使用查询参数传递
- 在页面中使用onLoad生命周期的形参接收
- 事件传参
- 只有navigateTo可以实现,因为它不会关闭页面
- A页面传递到B页面(A页面跳转到B页面)
- A传递给B—A在首次进行传递使用这个
- A跳转以后,B页面加载成功以后,可以使用eventChannel来监听事件,然后A页面在成功回调中,使用入参来进行事件触发
- B传递给A
- A页面在event中定义事件名字和处理函数,等待B页面事件触发
- A传递给B—A在首次进行传递使用这个
自定义组件
- 组件定义
- 可以把组件全部放在一个目录下,起名为components目录
- 在json配置中定义component为true
- 在定义的组件中的js’文件中不需要调用page方法,需要调用Component方法来声明它为一个组件
- 绑定事件–必须使用bind语法
- 两种写法: bind:事件名字;bind事件名字
- 父子通信
- 父传子——properties属性,type指定类型,value指定默认值
- 子传父
- triggerEvent(事件名字,{传递的参数,只能是一个})
- 插槽
- 不能具名,不能传递参数
授权和登录
- 登录不是用账号和密码登录,一般是用户输入手机(授权获取手机–只能是企业账号才行)