uniapp的navigator页面跳转遇到的问题

先看路由

主页默认加载的index

	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		},
		{
			"path": "pages/login/login",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	],

index组件

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>

		<navigator url="/pages/login/login">
			Login
		</navigator>
	</view>
</template>

<script>
	export default {
		onLoad() {
			this.checkLogin();
		},
		onShow() {
			this.checkLogin();
		},
		methods: {
			checkLogin() {
				if (!this.$store.state.isLogin) {
					uni.navigateTo({
						url: "../login/login"
					})
				}
			}
		},
	}
</script>


首先加载index
但是这边在用户未登录时会跳转到login
用的以下路径

可使用

	url: "../login/login"

不可使用

	url: "pages/login/login"

在这里插入图片描述

login组件

在用户登录后可以进行正常的首页跳转
注意url

可使用

url="../index/index"

不可使用

url="pages/index/index"
<template>
	<view class="login">
		<view>
			登录状态: {{isLogin}}
		</view>
		<button type="default" @click="login">登录</button>
		<button type="default" @click="logout">注销</button>
		
		<navigator url="../index/index">首页</navigator>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex'

	export default {
		computed: {
			...mapState(['name', 'isLogin'])
		},
		methods: {
			// 登录
			login() {
				this.$store.commit('setLogin', true);
			},
			// 登出 注销
			logout() {
				this.$store.commit('setLogin', false);
			},
		}
	}
</script>

最后再从index转到login(问题)

正确url

url="/pages/login/login"

不可使用,可能会导致所有navigator不可用,原因不明

url="../login/login"

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值