一.可返回式的跳转
uni.navigateTo(OBJECT)
保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
简单场景介绍,A界面需要获取B界面编辑后的form数据。
具体操作如下:
首先A界面需要进行监听返回事件,然后进行跳转至B界面,最后B界面触发监听事件,同时返回到A界面。
//1.父界面A跳转至子界面B,同时监听事件fire
goTo(url){
//2.监听fire,方便不同界面之间数据的传输
uni.$on('fire', function(data) {
var ret=JSON.parse(data.data)
//3.清除监听,不清除会消耗资源
uni.$off('fire');
});
//4.跳转到B界面
uni.navigateTo({
url
});
}
//5.子界面B返回至父界面A
back(){
let _this=this;
//触发事件监听,返回数据
uni.$emit('fire', {
data: JSON.stringify(_this.data),
});
uni.navigateBack({ });
}
简单说明一下,里面要了JSON数据格式化,JSON.parse(data)这个是反序列字符串为对象的;JSON.stringify(data)这个是把对象序列化为字符串的。
二.一去不返的跳转
uni.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
uni.redirectTo({
url
});
三.其他跳转
1.uni.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面。
2.uni.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
注意:跳转到 tabBar 页面只能使用 switchTab 跳转