cmp.backbutton 类
移动端物理回退键监听机制,由于在移动端,android手机的物理回退键和微信浏览器左上角回退按钮的存在,当页面中有弹窗出现时,用户点击了回退键,
默认是回退到了上一个页面,并不是用户想要的关闭弹框,由于这个缺陷的存在,cmp提供一套回退按钮监听机制,使各模块开发处理该问题时
统一处理,并达到,低耦合状态,其机制为:
当进入回退按钮机制时,全部模块或应用需要对回退按钮进行监听时,进入一个堆栈状态,即:先进后出原则,先被放入堆栈中的回退方法,最后被执行,
各模块开发统一在这个堆栈里操作,进出栈由开发者自行控制,各模块开发,只需要把自己的堆栈逻辑处理好,cmp进行统一管理
- cmp壳端:监听android物理回退键
- 微信端:监听android物理回退键+微信浏览器左上角自带回退按钮android和ios
方法
方法
pop
pop
()
开发者者调用此方法将需要监听回退键执行的函数取出堆栈,并将这个栈顶函数进行trigger执行
其取出的即为堆栈中的栈顶,一般用在:
如一个弹框,有一个关闭按钮,该关闭按钮的事件绑定就应该将该的主动调用的事件,将堆栈中的栈顶退出,避免已经关闭了该弹框,栈中的函数还存在,导致和其他模块的栈冲突
示例:
<script>
cmp.backbutton.pop();
</script>
push
push
(
-
func
)
开发者者调用此方法将需要监听回退键执行的函数放入堆栈
参数:
名称 | 类型 | 标识 | 描述 |
---|---|---|---|
func
| Function | 必选 | 需要回退按钮执行的函数 |
示例:
<script>
var closeSelectOrg = function(){//定义关闭弹层的函数
cmp.backbutton.pop(); //关闭函数中要调用弹层出栈函数
//关闭的业务逻辑
}
cmp.backbutton.push(closeSelectOrg);//弹层入栈
</script>