1.navigateTo(保留当前页面,跳转到其他页面,使用navigateTo可以返回上一页)

uni.navigateTo({
	url:'./straSettings'
});

 2.reLaunch(关闭所有页面,跳转到其他页面)

uni.reLaunch({
	url:'./straSettings'
})

3.redirectTo(关闭当前页面,跳转到其他页面)

uni.redirectTo({
	url:'./straSettings'
})

4.switchTab(适用于底部导航栏之间的跳转,或者跳转到底部导航栏)

uni.switchTab({
	url: '../strategy/strategy'
});

5. location.href(适用于跳转到外部链接)

location.href ='https://blog.csdn.net/weixin_50606255/article/details/118391274';

 注意:

  • navigateTo, redirectTo 只能打开非 tabBar 页面。
  • switchTab 只能打开 tabBar 页面。
  • reLaunch 可以打开任意页面。
  • 页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
  • 不能在 App.vue 里面进行页面跳转

————————分割线————————

在工作中遇到了当前页面跳转到外部链接的需求,在此记录一下遇到的问题和解决方法:

先贴代码:

1、新建一个webview文件,在page.json里面指向我们跳转的这个内部路径;

 2、在webview中写入:

<template>
	<view>
		<web-view :src="url"></web-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				url:''
			}
		},
		onLoad(item) {
		    this.url = decodeURIComponent(item.url)
		    // 传入需要跳转的链接 使用web-view标签进行跳转
		  },
		methods: {
			
		}
	}
</script>

<style>

</style>

3、在需要跳转的页面中应用:

<view class="swiperView">
	<u-swiper :list="bannerList" keyName="img" :autoplay="true" @change="changeBanner" @click="goBanner">
	</u-swiper>
</view>
goBanner(){
	let url = this.bannerList[this.current].url;
	if(url00){
	    uni.navigateTo({
			url: '/pages/home/webview?url=' + url
		})
	}
}

运行到界面发现会报错:

 此时只要将webview中的定义的url换个名字就ok了,我在这里将url换成了url11(并不唯一,换成自己明白意思的就行)。报错的原因可能是页面传参有一个固定的url参数,自定义参数时不能与之重名,就像我们在定义一个变量的时候不能用关键字代替一样。

 如有问题欢迎多多交流~~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐