当前位置:首页 > uni-app

uniapp 数据操作

2026-02-06 07:08:35uni-app

uniapp 数据操作

数据绑定与渲染

在uniapp中,数据绑定使用双花括号{{}}语法,类似于Vue.js。在模板中直接绑定数据变量:

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

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

数据更新与响应式

通过修改data中的属性实现数据更新,uniapp会自动触发视图更新:

export default {
  data() {
    return {
      count: 0
    }
  },
  methods: {
    increment() {
      this.count++
    }
  }
}

列表渲染

使用v-for指令渲染数组数据,建议为每项添加唯一key

<template>
  <view v-for="(item, index) in list" :key="index">
    {{ item.name }}
  </view>
</template>

<script>
export default {
  data() {
    return {
      list: [
        { name: 'Item 1' },
        { name: 'Item 2' }
      ]
    }
  }
}
</script>

条件渲染

使用v-ifv-show控制元素显示:

<view v-if="isVisible">显示内容</view>
<view v-show="isActive">动态显示</view>

表单数据绑定

通过v-model实现表单双向绑定:

<input v-model="inputValue" />
<checkbox-group @change="checkboxChange">
  <checkbox value="1" />选项1
</checkbox-group>

数据存储

使用uni.setStorageuni.getStorage进行本地数据存储:

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

// 同步存储
try {
  uni.setStorageSync('key', 'value')
} catch (e) {
  console.error(e)
}

网络请求

通过uni.request获取远程数据:

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

全局数据管理

对于复杂应用,可使用Vuex进行状态管理:

  1. 创建store文件
    
    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)

const store = new Vuex.Store({ state: { token: '' }, mutations: { setToken(state, token) { state.token = token } } })


2. 在main.js中引入
```javascript
import store from './store'
const app = new Vue({
  store,
  ...App
})
  1. 组件中使用
    this.$store.commit('setToken', 'newToken')
    const token = this.$store.state.token

数据缓存策略

对于频繁访问但变化不大的数据,可结合本地缓存和网络请求:

uniapp 数据操作

async loadData() {
  try {
    // 先尝试从缓存读取
    const cache = uni.getStorageSync('cachedData')
    if (cache && !this.forceRefresh) {
      this.data = cache
      return
    }

    // 缓存不存在或强制刷新时请求网络
    const res = await uni.request({ url: 'api_url' })
    this.data = res.data
    uni.setStorageSync('cachedData', res.data)
  } catch (e) {
    console.error('数据加载失败', e)
  }
}

标签: 操作数据
分享给朋友:

相关文章

vue实现表格数据修改

vue实现表格数据修改

实现表格数据修改的基本思路 在Vue中实现表格数据修改通常涉及以下核心步骤:数据绑定、编辑状态切换、表单输入处理和数据提交。以下是一个典型实现方案: 数据绑定与渲染 使用v-for指令循环渲染表格数…

vue数据代理底层实现

vue数据代理底层实现

Vue 数据代理的底层实现原理 Vue 的数据代理是通过 Object.defineProperty 或 Proxy(Vue 3)实现的,将数据对象的属性代理到 Vue 实例上,使得可以直接通过 th…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

react 如何操作cookie

react 如何操作cookie

安装依赖 在React项目中操作cookie通常需要第三方库的支持,推荐使用js-cookie。通过npm或yarn安装: npm install js-cookie # 或 yarn add js…

react如何接收数据

react如何接收数据

React 接收数据的方法 React 中接收数据的方式有多种,根据数据来源和场景的不同,可以选择适合的方法。以下是常见的几种方式: Props 传递数据 父组件通过 props 向子组件传递数据,…

vue实现数据排序

vue实现数据排序

Vue 实现数据排序的方法 在 Vue 中实现数据排序可以通过多种方式完成,以下是几种常见的方法: 使用计算属性排序 计算属性可以根据响应式数据动态计算并返回排序后的数组。例如,对一个数组按升序排序…