当前位置:首页 > uni-app

uniapp 页面生成

2026-02-06 13:26:26uni-app

创建页面文件

pages 目录下新建 .vue 文件,例如 pages/index/index.vue。文件结构遵循 Vue 单文件组件规范,包含 <template><script><style> 三个部分。

<template>
  <view class="content">
    <text>{{ message }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Uniapp'
    }
  }
}
</script>

<style>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>

配置页面路由

pages.json 中注册页面路径,设置页面样式和导航栏信息。pages 数组的第一项默认为应用启动页。

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

动态页面传参

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

<script>
export default {
  onLoad(options) {
    console.log('接收参数:', options.id)
  }
}
</script>

跳转时传递参数:

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

页面生命周期

常用生命周期函数包括 onLoadonShowonReadyonHideonUnload。这些函数需与 export default 同级。

<script>
export default {
  onLoad() {
    console.log('页面加载')
  },
  onShow() {
    console.log('页面显示')
  }
}
</script>

页面通信

使用 uni.$emituni.$on 实现跨页面事件通信。

发送页面:

uni.$emit('update', { data: '新数据' })

接收页面:

uni.$on('update', (data) => {
  console.log('接收数据:', data)
})

页面返回传值

使用 uni.navigateBack 传递数据,配合 getCurrentPages 获取页面栈。

const pages = getCurrentPages()
const prevPage = pages[pages.length - 2]
prevPage.$vm.pageData = '返回数据'
uni.navigateBack()

前页通过 onBackPressonShow 接收数据:

uniapp 页面生成

<script>
export default {
  onShow() {
    console.log('接收返回数据:', this.pageData)
  }
}
</script>

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

相关文章

uniapp面试问啥

uniapp面试问啥

技术基础类问题 UniApp框架特性 跨端实现原理及条件编译的使用场景 如何理解"一次开发,多端运行"的优缺点 rpx与vw/vh单位的适配差异 Vue相关 生命周期在UniA…

uniapp 如何封装request请求

uniapp 如何封装request请求

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

uniapp 滑动

uniapp 滑动

uniapp 实现滑动效果的方法 在uniapp中实现滑动效果可以通过多种方式,包括使用内置组件、CSS动画或第三方插件。以下是几种常见的方法: 使用scroll-view组件 scroll-vi…

vue 实现页面跳转

vue 实现页面跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,主要包括使用 Vue Router 提供的导航方法和原生 JavaScript 的方式。 使用 Vue Router 的 ro…

vue实现反馈页面

vue实现反馈页面

Vue 实现反馈页面的方法 表单组件设计 使用 Vue 的 v-model 实现表单数据双向绑定,创建包含输入框、下拉框和提交按钮的基础表单结构。表单字段通常包括用户姓名、联系方式、反馈类型和详细内容…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载非关键资源,从而提升页面初始加载速度。在Vue中可以通过以下方式实现懒加载: 路由懒加载 使用Vue Rou…