当前位置:首页 > uni-app

uniapp 数据

2026-03-04 20:44:40uni-app

Uniapp 数据管理方法

Uniapp 提供了多种数据管理方式,适用于不同场景的需求。以下是一些核心方法:

全局数据管理 使用 uni-app 提供的 globalData 机制,可以在 App.vue 中定义全局变量,方便跨页面共享数据。在 App.vuescript 部分定义:

<script>
export default {
  globalData: {
    userInfo: null
  },
  onLaunch: function() {
    console.log('App Launch')
  }
}
</script>

在其他页面通过 getApp().globalData 访问或修改全局数据。

页面间数据传递 使用 uni.navigateTouni.redirectTourl 参数传递数据:

uni.navigateTo({
  url: '/pages/detail/detail?id=1&name=test'
})

在目标页面通过 onLoad 生命周期函数的参数接收:

onLoad(options) {
  console.log(options.id) // 输出 1
  console.log(options.name) // 输出 test
}

本地存储 利用 uni.setStorageuni.getStorage 实现数据持久化:

uniapp 数据

// 存储数据
uni.setStorage({
  key: 'key',
  data: 'value',
  success: function () {
    console.log('存储成功')
  }
})

// 获取数据
uni.getStorage({
  key: 'key',
  success: function (res) {
    console.log(res.data) // 输出 value
  }
})

Vuex 状态管理 对于复杂应用,可以使用 Vuex 进行集中式状态管理。在 store/index.js 中配置:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    }
  }
})

export default store

main.js 中引入并挂载到 Vue 实例,在组件中通过 this.$store 访问。

数据绑定与响应式

Uniapp 基于 Vue.js,支持数据双向绑定。在模板中使用 {{}} 语法显示数据:

uniapp 数据

<template>
  <view>{{message}}</view>
</template>

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

对于表单元素,使用 v-model 实现双向绑定:

<input v-model="inputValue" />

数据请求与接口调用

通过 uni.request 发起网络请求获取数据:

uni.request({
  url: 'https://example.com/api',
  method: 'GET',
  success: (res) => {
    console.log(res.data)
  },
  fail: (err) => {
    console.error(err)
  }
})

数据监听与计算属性

使用 watch 监听数据变化:

export default {
  data() {
    return {
      count: 0
    }
  },
  watch: {
    count(newVal, oldVal) {
      console.log(`count 从 ${oldVal} 变为 ${newVal}`)
    }
  }
}

利用计算属性处理复杂逻辑:

export default {
  data() {
    return {
      firstName: '张',
      lastName: '三'
    }
  },
  computed: {
    fullName() {
      return this.firstName + this.lastName
    }
  }
}

标签: 数据uniapp
分享给朋友:

相关文章

vue怎么实现数据

vue怎么实现数据

Vue 数据实现方法 Vue 提供了多种方式来实现数据的绑定和管理,核心是通过响应式系统确保数据与视图的同步。以下是常见的实现方法: 数据绑定 在 Vue 实例的 data 选项中定义数据,Vue…

uniapp隐藏滚动条

uniapp隐藏滚动条

在UniApp中隐藏滚动条可以通过以下几种方法实现,具体根据使用场景选择: 全局样式设置(APP/H5) 通过修改全局CSS样式隐藏滚动条,适用于所有页面: ::-webkit-scrollbar…

uniapp安装uview

uniapp安装uview

安装uView到UniApp项目 方法一:通过npm安装(推荐) 确保项目已初始化npm,在项目根目录执行以下命令: npm install uview-ui 在main.js文件中引入并注册uV…

uniapp面试问啥

uniapp面试问啥

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

uniapp实现标题栏渐变

uniapp实现标题栏渐变

实现标题栏渐变的方法 在UniApp中实现标题栏渐变效果,可以通过修改页面的导航栏样式或使用自定义导航栏来实现。以下是几种常见的方法: 方法一:使用原生导航栏渐变 通过修改pages.json中的…

uniapp探探

uniapp探探

uniapp实现探探滑动卡片效果 探探的滑动卡片效果主要包含卡片堆叠、左右滑动操作、动画反馈等功能。在uniapp中可以通过以下方式实现类似交互: 使用swiper组件实现基础滑动 uniapp的s…