uni-app中在应用里面使用uni.reLaunch跳转到其他的非tabbar页面的问题

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app中在应用里面使用uni.reLaunch跳转到其他的非tabbar页面的问题

在应用里面使用uni.reLaunch跳转到非tabbar页面,会没有左上角的返回按钮。怎么做才能有返回按钮,不会要自定义header吧。。。至少给个按钮能返回到第一个页面呀

信息类型 信息内容
开发环境 未提及
版本号 未提及
项目创建方式 未提及
10 回复

uni.reLaunch:关闭所有页面,打开到应用内的某个页面。 都关闭了所有页面 你跳转的页面就是第一个页面 也没页面可以返回了啊 有返回按钮也没用


有些不是可以返回到pages.json里面配置的第一个吗。。好歹也返回到第一个啊。。直接没了

回复 靐齉齾麤龖龗: 你这种效果 除了自定义导航栏 也没啥办法了 如果uni.reLaunch跳转后还能返回pages.json的第一页 那么就又有人会问 为啥关闭了所有页面还能返回

回复 爱豆豆: 心累。主要是f5刷新之后的问题,其他的还好。。。想省事来着

回复 靐齉齾麤龖龗: h5的话 你试试用css强制显示返回按钮 这样你就不用自定义了

在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

其中,indexabout 是 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 或其他导航方法。

回到顶部