当前位置:首页 > 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

数据缓存策略

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

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)
  }
}

uniapp 数据操作

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

相关文章

vue实现表格读取数据

vue实现表格读取数据

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

vue实现数据删除

vue实现数据删除

Vue 实现数据删除的方法 在 Vue 中删除数据通常涉及操作数组或对象,并结合响应式更新。以下是几种常见实现方式: 从数组中删除数据 使用 splice 方法删除数组中的指定项: methods…

vue实现选题操作

vue实现选题操作

Vue 实现选题操作 在 Vue 中实现选题操作通常涉及数据绑定、事件处理和状态管理。以下是几种常见的实现方式: 单选实现 使用 v-model 绑定单选值,通过 radio 或 select 元…

vue实现数据筛选

vue实现数据筛选

数据筛选的实现方式 在Vue中实现数据筛选可以通过计算属性、方法或第三方库完成。以下是几种常见的方法: 计算属性筛选 使用计算属性对数组数据进行筛选,具有缓存特性,适合静态或较少变化的数据。 co…

vue实现数据更改

vue实现数据更改

Vue 数据更改的实现方法 Vue 提供了多种方式来响应式地更改数据,以下是几种常见的方法: 直接修改数据属性 在 Vue 实例中,可以直接修改 data 对象的属性,Vue 会自动检测这些变化并更…

vue实现数据太多

vue实现数据太多

处理 Vue 中大数据量的优化方案 虚拟滚动(Virtual Scrolling) 使用 vue-virtual-scroller 或 vxe-table 等库实现虚拟滚动,仅渲染可视区域内的 DOM…