uniapp常见的路由与页面跳转api是什么

uniapp常见的路由与页面跳转api

uniapp是一款跨平台的开发框架,开发者可以使用uniapp来开发各种各样的应用,如小程序、App等等。在开发一个应用时,路由与页面跳转是必不可少的功能,uniapp提供了多种API来实现这些功能。下面将介绍其中一些常见的API。

1.路由跳转api

在uniapp中,路由跳转是通过uni.navigateTo和uni.redirectTo方法实现的。这两个方法的使用方法基本相同,只是他们的行为略有不同。

使用uni.navigateTo方法可以实现在当前页面打开一个新页面,并且能够返回到当前页面。例如,下面代码打开一个名为detail的页面:

uni.navigateTo({

url: '/pages/detail/detail'

})

使用uni.redirectTo方法可以实现在当前页面关闭并替换为一个新页面。例如,下面代码打开一个名为detail的页面:

uni.redirectTo({

url: '/pages/detail/detail'

})

需要注意的是,uni.navigateTo最多可以打开10个页面,超过10个之后会报错。如果需要打开多于10个页面,可以考虑使用uni.switchTab方法,该方法可以打开一个Tab页。

2.路由传参

在uniapp中,路由跳转的时候可以通过query参数传递数据。例如,下面代码中的query参数可以传递一些数据到目标页面:

uni.navigateTo({

url: '/pages/detail/detail?key=value'

})

在目标页面中可以通过onLoad方法获取到传递的数据:

export default {

onLoad(query) {

console.log(query.key) // output: value

}

}

需要注意的是,传递的数据大小不能超过1MB。

3.页面返回

在uniapp中,可以使用uni.navigateBack方法返回上一页:

uni.navigateBack()

该方法可以返回到上一页,也可以返回到任何指定页。例如,下面代码可以返回到上两级页面:

uni.navigateBack({

delta: 2

})

4.Tab页切换

在uniapp中,Tab页切换是通过uni.switchTab方法实现的。例如,下面代码可以跳转到名为index的Tab页:

uni.switchTab({

url: '/pages/index/index'

})

需要注意的是,使用uni.switchTab方法只能跳转到Tab页,无法跳转到非Tab页。如果需要跳转到非Tab页,可以使用uni.navigateTo方法。

5.webview跳转

在uniapp中,可以通过uni.navigateTo方法打开一个webview页面。例如,下面代码可以打开一个名为webview的webview页面:

uni.navigateTo({

url: '/pages/webview/webview?url=https://www.baidu.com'

})

需要注意的是,webview页面需要在manifest.json文件中单独配置。例如:

{

"h5": {

"publicPath": "/",

"custom": {

"titleNView": true,

"app-plus": {

"titleNView": {

"titleColor": "#ffffff",

"backgroundColor": "#007aff",

"progress": {

"color": "#ffffff",

"height": "2px"

}

},

"bounce": "none"

}

}

},

"app-plus": {

"titleNView": {

"titleColor": "#ffffff",

"backgroundColor": "#007aff",

"progress": {

"color": "#ffffff",

"height": "2px"

}

},

"webview": {

"titleNView": {

"titleColor": "#ffffff",

"backgroundColor": "#007aff",

"progress": {

"color": "#ffffff",

"height": "2px"

}

}

}

}

}

总结

路由与页面跳转在uniapp中是必不可少的功能。在本文中,我们介绍了uniapp中常见的路由与页面跳转api,包括路由跳转、路由传参、页面返回、Tab页切换和webview跳转。我们需要根据具体场景选择不同的方法来实现我们的页面跳转逻辑。