当前位置:首页 > 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参数传递简单数据:

// 发送方
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

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>

条件编译处理

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

uniapp多页面搭建

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

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

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

相关文章

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…

uniapp 线程

uniapp 线程

uniapp 线程的概念 在 uniapp 中,线程的概念与原生应用开发有所不同。由于 uniapp 是基于 JavaScript 的运行环境,它并不直接支持多线程操作。JavaScript 本身是单…

uniapp 3.0

uniapp 3.0

uniapp 3.0 核心特性 uniapp 3.0 是 DCloud 推出的跨端开发框架升级版本,支持一套代码编译到 iOS、Android、Web 及各类小程序平台。以下为关键特性与使用要点:…

uniapp 摇骰子

uniapp 摇骰子

uniapp 摇骰子实现方法 页面布局 在 pages 目录下创建骰子页面(如 dice.vue),使用 view 和 image 组件构建骰子界面。骰子图片可通过静态资源或网络地址加载。 <…