uni-app中在应用里面使用uni.reLaunch跳转到其他的非tabbar页面的问题
uni-app中在应用里面使用uni.reLaunch跳转到其他的非tabbar页面的问题
在应用里面使用uni.reLaunch跳转到非tabbar页面,会没有左上角的返回按钮。怎么做才能有返回按钮,不会要自定义header吧。。。至少给个按钮能返回到第一个页面呀
信息类型 | 信息内容 |
---|---|
开发环境 | 未提及 |
版本号 | 未提及 |
项目创建方式 | 未提及 |
uni.reLaunch:关闭所有页面,打开到应用内的某个页面。
都关闭了所有页面 你跳转的页面就是第一个页面 也没页面可以返回了啊 有返回按钮也没用
有些不是可以返回到pages.json里面配置的第一个吗。。好歹也返回到第一个啊。。直接没了
回复 靐齉齾麤龖龗: 你这种效果 除了自定义导航栏 也没啥办法了 如果uni.reLaunch跳转后还能返回pages.json的第一页 那么就又有人会问 为啥关闭了所有页面还能返回
回复 靐齉齾麤龖龗: h5的话 你试试用css强制显示返回按钮 这样你就不用自定义了
app嘛?
h5
在uni.reLaunch的页面上 使用css给uni-page-head-btn设置display: block;
我看了,用的v-if没渲染
在uni-app中,uni.reLaunch
方法用于关闭所有非 tabBar 页面,跳转到应用内的某个页面。这个方法比较特殊,因为它会清除页面的栈,并且只能跳转到 tabBar 页面或非 tabBar 页面。当你尝试使用 uni.reLaunch
跳转到非 tabBar 页面时,通常不会遇到特别的障碍,但需要注意一些细节,比如确保目标页面的路径正确,以及是否需要传递参数。
以下是一个使用 uni.reLaunch
跳转到非 tabBar 页面的示例代码:
假设你的项目结构如下:
/pages
/index
index.vue
/details
details.vue
/about
about.vue
其中,index
和 about
是 tabBar 页面,而 details
是非 tabBar 页面。
在 index.vue
中使用 uni.reLaunch
跳转到 details
页面
<template>
<view>
<button @click="goToDetails">Go to Details</button>
</view>
</template>
<script>
export default {
methods: {
goToDetails() {
// 使用 uni.reLaunch 跳转到 details 页面
uni.reLaunch({
url: '/pages/details/details?id=123', // 传递参数,例如 id
success: function () {
console.log('Successfully navigated to details page');
},
fail: function (err) {
console.error('Failed to navigate: ', err);
}
});
}
}
}
</script>
在 details.vue
中接收参数
<template>
<view>
<text>Details Page</text>
<text>ID: {{ id }}</text>
</view>
</template>
<script>
export default {
data() {
return {
id: ''
};
},
onLoad(options) {
// 从 url 参数中获取 id
this.id = options.id || '';
}
}
</script>
在这个例子中,当用户点击 index.vue
中的按钮时,应用会使用 uni.reLaunch
方法清除所有页面栈并跳转到 details.vue
页面,同时传递一个 id
参数。在 details.vue
中,通过 onLoad
生命周期函数接收这个参数并显示在页面上。
需要注意的是,由于 uni.reLaunch
会关闭所有其他页面,因此用户无法通过返回按钮回到之前的页面。如果你的应用需要保持页面导航历史,可能需要考虑使用 uni.navigateTo
或其他导航方法。