当前位置:首页 > uni-app

uniapp多页面搭建

2026-03-05 12:24:28uni-app

多页面配置基础

在uniapp中创建多页面应用,需在pages.json中配置页面路径。每个页面需要独立配置路径、样式和导航栏信息。示例配置如下:

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

页面跳转方法

使用uni.navigateTo实现页面跳转,保留当前页面并打开新页面。在需要跳转的按钮或事件中调用:

uni.navigateTo({
  url: '/pages/detail/detail'
})

使用uni.redirectTo关闭当前页面并跳转至新页面:

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

页面间传参

通过URL传递参数,在目标页面的onLoad生命周期中接收:

// 发送参数
uni.navigateTo({
  url: '/pages/detail/detail?id=123&name=test'
})

// 接收参数
onLoad(options) {
  console.log(options.id) // 输出123
  console.log(options.name) // 输出test
}

分包加载优化

对于大型项目,使用分包加载减少首次加载时间。在pages.json中配置:

{
  "subPackages": [
    {
      "root": "subpackage",
      "pages": [
        {
          "path": "subpage/subpage",
          "style": {}
        }
      ]
    }
  ]
}

条件编译处理平台差异

通过条件编译处理不同平台的页面差异,示例:

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

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

全局样式管理

App.vue中定义全局样式,所有页面均可继承:

/* App.vue */
page {
  background-color: #f5f5f5;
  font-size: 16px;
}

页面生命周期注意事项

注意各页面生命周期的触发时机:

  • onLoad:页面加载时触发
  • onShow:页面显示时触发
  • onReady:页面初次渲染完成时触发
  • onHide:页面隐藏时触发
  • onUnload:页面卸载时触发

页面通信方案

使用全局事件总线实现页面间通信:

// 发送事件
uni.$emit('update', {data: 'new data'})

// 接收事件
uni.$on('update', function(data) {
  console.log(data)
})

页面返回传值

使用uni.navigateBack返回并传递数据:

// 前页面监听事件
uni.$on('backEvent', function(data) {
  console.log(data)
})

// 返回时触发
const pages = getCurrentPages()
const prevPage = pages[pages.length - 2]
prevPage.$vm.returnData = '返回数据'
uni.navigateBack()

页面预加载处理

onLoad前使用uni.preloadPage预加载页面:

uniapp多页面搭建

uni.preloadPage({
  url: '/pages/detail/detail'
})

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

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是 D…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp使用npm

uniapp使用npm

uniapp中使用npm的方法 uniapp支持通过npm安装和管理第三方依赖包,以下是具体操作步骤: 安装Node.js环境 确保本地已安装Node.js(建议使用LTS版本),安装后会自动包含n…

uniapp分享到facebook

uniapp分享到facebook

使用uniapp分享到Facebook的方法 在uniapp中实现分享到Facebook功能,可以通过调用原生插件或使用第三方SDK。以下是具体实现方式: 安装Facebook SDK插件 在uni…

uniapp可以用vant吗

uniapp可以用vant吗

uniapp中使用Vant组件库的可行性 Vant是专为Vue.js设计的移动端组件库,而uniapp是一个跨平台开发框架。两者并非原生兼容,但可通过以下方式实现部分Vant组件的使用。 方法一:使…

uniapp指南

uniapp指南

开发环境搭建 下载HBuilderX作为官方推荐的开发工具,支持Windows和Mac系统。安装后创建uni-app项目,选择模板(如默认模板、Hello Uni-app等)。确保Node.js版本在…