当前位置:首页 > uni-app

uniapp多页面搭建

2026-02-06 10:31:03uni-app

多页面应用配置

pages.json中配置多个页面路径,每个页面需包含pathstyle属性。例如配置首页和详情页:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": { "navigationBarTitleText": "首页" }
    },
    {
      "path": "pages/detail/detail",
      "style": { "navigationBarTitleText": "详情页" }
    }
  ]
}

页面路由跳转

使用uni.navigateTo实现保留当前页面的跳转,目标页面可通过uni.navigateBack返回:

uni.navigateTo({
  url: '/pages/detail/detail?id=123'
})

使用uni.redirectTo关闭当前页面并跳转,无法返回原页面:

uni.redirectTo({
  url: '/pages/login/login'
})

页面间通信

通过URL参数传递简单数据:

uniapp多页面搭建

// 发送方
uni.navigateTo({
  url: '/pages/detail/detail?title=测试数据'
})

// 接收方
onLoad(options) {
  console.log(options.title) // 输出"测试数据"
}

复杂数据建议使用全局变量、Vuex或本地存储:

// 使用uni.setStorageSync存储
uni.setStorageSync('sharedData', { key: 'value' })

// 目标页面读取
const data = uni.getStorageSync('sharedData')

分包加载配置

pages.json中通过subPackages配置分包,减少主包体积:

{
  "subPackages": [
    {
      "root": "packageA",
      "pages": [
        { "path": "page1", "style": { ... } },
        { "path": "page2", "style": { ... } }
      ]
    }
  ]
}

页面生命周期管理

每个页面需正确处理生命周期事件,例如onLoadonShow

uniapp多页面搭建

export default {
  onLoad(options) {
    // 页面创建时执行
  },
  onShow() {
    // 页面显示时执行
  },
  onUnload() {
    // 页面卸载时清理资源
  }
}

公共组件复用

创建可复用组件并全局注册,在components目录新建文件:

// components/example.vue
<template>
  <view>{{ message }}</view>
</template>

<script>
export default {
  props: ['message']
}
</script>

在页面中直接使用:

<template>
  <example message="公共组件内容"/>
</template>

条件编译处理

针对不同平台进行条件编译,使用特殊注释语法:

// #ifdef H5
console.log('仅在H5平台执行')
// #endif

// #ifdef MP-WEIXIN
console.log('仅在微信小程序执行')
// #endif

标签: 多页uniapp
分享给朋友:

相关文章

uniapp swiper禁止滑动

uniapp swiper禁止滑动

禁用 Swiper 滑动的方法 在 UniApp 中,可以通过设置 disableTouch 属性或动态绑定 touchable 属性来禁止 Swiper 组件的滑动行为。 方法一:通过 disab…

uniapp 如何封装request请求

uniapp 如何封装request请求

封装 request 请求的核心思路 在 UniApp 中封装请求通常基于 uni.request,通过统一处理 URL、参数、header 和拦截逻辑提升代码复用性。以下是一个完整封装方案: 创建…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…

uniapp 后门

uniapp 后门

关于 uniapp 后门的问题,目前没有权威证据表明 uniapp 官方存在故意植入后门的行为。但作为开发者,需注意以下安全实践: 检查第三方插件和依赖 确保项目中使用的第三方插件来源可靠,定期更新…

海康 uniapp

海康 uniapp

海康威视与UniApp集成方案 海康威视的硬件设备(如摄像头、NVR等)与UniApp结合,通常需要通过海康的开放平台API或SDK实现功能调用。以下是具体实现方法: 获取海康威视开放平台权限 注册…

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…