uniapp的vue项目配置路由

1、创建页面

首先,在 pages.json 文件中配置你的页面路径。这个文件是 UniApp 用来管理页面路由的核心配置文件。

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    },
    {
      "path": "pages/about/about",
      "style": {
        "navigationBarTitleText": "关于"
      }
    },
    // 其他页面配置...
  ],
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },
      {
        "pagePath": "pages/about/about",
        "text": "关于"
      }
      // 其他 tab 项...
    ]
  }
}

在上面的配置中,定义了两个页面:index 和 about,并且将它们添加到了 tabBar 中。

2、 创建 Vue 组件

在 pages/index/index.vue 和 pages/about/about.vue 中创建对应的 Vue 组件。

<!-- pages/index/index.vue -->
<template>
  <view>
    <text>这是首页</text>
    <button @click="navigateToAbout">跳转到关于页面</button>
  </view>
</template>

<script>
export default {
  methods: {
    navigateToAbout() {
      uni.navigateTo({
        url: '/pages/about/about'
      });
    }
  }
}
</script>
<!-- pages/about/about.vue -->
<template>
  <view>
    <text>这是关于页面</text>
    <button @click="goBack">返回首页</button>
  </view>
</template>

<script>
export default {
  methods: {
    goBack() {
      uni.navigateBack();
    }
  }
}
</script>

3、使用条件渲染模拟路由状态(可选)

虽然 UniApp 没有路由状态管理,但可以使用 Vue 的数据绑定和条件渲染来模拟某些路由状态。例如,可以在一个主页面中根据状态动态加载不同的组件。

<!-- pages/main/main.vue -->
<template>
  <view>
    <component :is="currentView"></component>
    <button @click="navigateToHome">首页</button>
    <button @click="navigateToAbout">关于</button>
  </view>
</template>

<script>
import Home from '@/pages/index/index.vue';
import About from '@/pages/about/about.vue';

export default {
  data() {
    return {
      currentView: 'Home' // 默认显示首页
    };
  },
  components: {
    Home,
    About
  },
  methods: {
    navigateToHome() {
      this.currentView = 'Home';
    },
    navigateToAbout() {
      this.currentView = 'About';
    }
  }
}
</script>

4、使用全局状态管理(可选)

如果需要在多个页面间共享状态,可以使用 Vuex 或 UniApp 自带的 store(仅适用于 H5 平台)。对于小程序等平台,可能需要使用全局变量 uni.setStorageSync/uni.getStorageSync 来存储和读取状态。

总结

UniApp 的路由配置与传统 Vue 项目有所不同,它依赖于页面跳转 API 和条件渲染来实现类似路由的功能。通过合理配置 pages.json 文件和使用 UniApp 提供的 API,你可以轻松地在 UniApp 项目中实现页面导航和状态管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值