uniapp 路由跳转的几种方式(包含跳转到外部链接)

33 篇文章 6 订阅

 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参数,自定义参数时不能与之重名,就像我们在定义一个变量的时候不能用关键字代替一样。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值