当前位置:首页 > 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控制元素显示:

uniapp 数据操作

<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获取远程数据:

uniapp 数据操作

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

数据缓存策略

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

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 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中: &…

react如何设置数据

react如何设置数据

设置数据的常见方法 在React中设置数据通常涉及组件的状态管理,可以通过以下几种方式实现: 使用useState Hook(函数组件) import React, { useState } fr…

vue实现数据添加

vue实现数据添加

在 Vue 中实现数据添加 Vue 提供了多种方式来实现数据的添加操作,可以通过组件的数据绑定、表单处理以及状态管理等方式完成。以下是几种常见的实现方法: 使用 v-model 绑定表单数据 通过…

vue实现数据绑定

vue实现数据绑定

Vue 数据绑定的实现方式 Vue.js 提供了多种数据绑定方式,主要包括双向绑定 (v-model)、单向绑定 ({{ }} 插值或 v-bind)、以及响应式数据管理。以下是具体实现方法: 双向…

vue实现数据追加

vue实现数据追加

Vue 实现数据追加的方法 在 Vue 中实现数据追加通常涉及操作数组或对象,以下是几种常见的方法: 使用数组的 push 方法 通过 Vue 的响应式系统,直接调用数组的 push 方法可以追加数…

vue实现数据更新

vue实现数据更新

Vue 数据更新实现方式 Vue 提供了多种方式实现数据更新,核心机制基于响应式系统。以下是常见方法: 直接修改数据属性 对于已声明在 data 中的属性,直接赋值即可触发更新: data() {…