当前位置:首页 > 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
分享给朋友:

相关文章

uniapp使用axios无法请求

uniapp使用axios无法请求

uniapp中使用axios请求问题解决方案 在uniapp中使用axios可能会遇到跨域、请求失败或兼容性问题。以下是常见原因及解决方法: 检查axios安装与引入 确保已正确安装axios:…

uniapp 后门

uniapp 后门

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

vue数据劫持实现

vue数据劫持实现

Vue 数据劫持实现原理 Vue 的数据劫持主要通过 Object.defineProperty 或 Proxy 实现,用于监听对象属性的变化并触发更新。以下是核心实现方式: 基于 Object.d…

uniapp 服务文件

uniapp 服务文件

uniapp 服务文件的概念 在 uniapp 中,服务文件通常指用于封装业务逻辑、接口请求或通用功能的 JavaScript 文件。这类文件通常存放在项目的 common 或 utils 目录下,便…

uniapp删除线

uniapp删除线

在UniApp中添加删除线的方法 使用CSS样式实现删除线 通过CSS的text-decoration属性可以轻松实现删除线效果。在UniApp的页面或组件中,直接为文本元素添加样式类即可: .t…

vue怎么实现数据监听

vue怎么实现数据监听

Vue 数据监听实现方式 Vue 提供了多种方式监听数据变化,以下是常用的方法: 使用 watch 选项 在 Vue 组件中可以通过 watch 选项监听特定数据的变化: export defau…