微信小程序(组件跳转、规范、层级准备)

回顾下路由API跳转:
wx.navigateTo
wx.navigateBack
wx.redirectTo
wx.switchTab
wx.reLaunch
除了使用路由API进行页面跳转外,小程序宿主环境也提供了导航组件navigator进行页面跳转。

hover样式
点击跳页时,点击栏没有背景样式,类似于css的hover事件,小程序如果想给元素添加触屏点击样式,可以给元素添加hover-class属性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
虽然css的hover伪类也可以实现类似效果,但不太理想,效果粘附性太大不建议使用

navigator组件跳转
用组件 navigator跳转案例:
公司信息页面跳到公司地址页:

<!--pages/mine/mine.wxml-->
<navigator  url="about/local/local">公司信息</navigator>

文件关系:(路径问题)
在这里插入图片描述
wxml 页面组件navigator 跳转时,可以通过设置open-type属性指明页面跳转方式,此外还有很多其他属性
navigator 导航组件属性列表:
在这里插入图片描述

<navigator  open-type="navigate"  url="about/local/local">公司信息</navigator>

navigator 导航组件属性:
在这里插入图片描述
navigator 导航组件属性—url:
在这里插入图片描述
注意:官方文档写明,url为非必填项,但开发注意url必须填写,否则报错
在这里插入图片描述
navigator 导航组件属性—open-type

open-type取整列表:
在这里插入图片描述
navigator 导航组件属性—target:
在这里插入图片描述
target属性取值:
在这里插入图片描述
navigator 导航组件属性实现关闭小程序:
target取值miniProgram和open-type取值exit可以实现关闭小程序

<navigator target="miniProgram" open-type="exit">退出小程序</navigator>

此时便可以实现点击退出小程序。

navigator 导航组件属性—delta
在这里插入图片描述
公司地址页面local设置navigate组件导航,点击返回上两页

<navigator delta="2" open-type="navigateBack">返回上两页</navigator>

navigator 导航组件样式相关属性:

在这里插入图片描述
注意:navigator-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, navigator 的子节点背景色应为透明色
在这里插入图片描述

<view class="parent" hover-class="parentHover">
  <navigator 
  hover-class="child" 
  hover-stop-propagation="true"
  open-type="navigate" 
  url="about/local/local">公司信息</navigator>
</view>
.parent{
  width: 100%;
  height: 300rpx;
  background: lightcyan;
}
.child{
  background: palevioletred;
}
.parentHover{
  background: gold;
}

在这里插入图片描述
加上 hover-stop-propagation="true"效果如下:
在这里插入图片描述
navigator 导航组件样式相关属性:(使用默认即可)
在这里插入图片描述

<view class="parent" hover-class="parentHover">
  <navigator 
  hover-stop-propagation="true"
  hover-stay-time="60" 
  hover-start-time="10" 
  hover-class="child" 
  open-type="navigate" 
  url="about/local/local">公司信息</navigator>
</view>

路由跳转规范
页面深度限制:规定小程序最多只能有10个页面同时存在(不关闭页面的情况下),页面深度为10.
如何正确使用页面跳转?
①对于可逆操作,使用wx.navigateTo。比如从首页跳转到二级页面,从二级页面返回是不需要重新渲染首页
②对于不可逆操作,使用wx.redirectTo。比如用户登录成功后,关闭登录页面,不能返回到登录界面。
③对于一些介绍性等不常用页面,可以用wx.redirectTo或wx.navigateBack
④对于类似九宫格、列表项,使用跳转
⑤不要在首页使用wx.redirectTo,这样会导致应用无法返回首页
⑥简化需求、简化流程:核心功能在两三个页面完成便是张小龙追求『小而美』的体现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值