当前位置:首页 > uni-app

uniapp数据实战

2026-03-05 10:05:01uni-app

uniapp数据实战:核心方法与技巧

数据绑定与响应式更新

uniapp基于Vue.js,数据绑定通过{{}}语法或v-model指令实现。响应式更新需注意:

  • 对象新增属性需使用this.$set,否则无法触发视图更新。
  • 数组直接赋值需用新数组替换原数组,或调用pushsplice等Vue包裹的方法。

示例代码:

uniapp数据实战

data() {
  return {
    list: [1, 2, 3],
    user: { name: 'Alice' }
  }
},
methods: {
  updateData() {
    this.$set(this.user, 'age', 20); // 响应式新增属性
    this.list = [...this.list, 4]; // 替换数组触发更新
  }
}

跨页面数据传递

  • URL参数传递:通过uni.navigateTourl拼接参数,目标页通过onLoadoptions接收。
  • 全局变量:使用uni.$emituni.$on实现事件总线通信。
  • 本地存储uni.setStorageSync存储数据,uni.getStorageSync读取。

示例:

uniapp数据实战

// 页面A传递参数
uni.navigateTo({
  url: '/pages/detail?id=123'
});

// 页面B接收参数
onLoad(options) {
  console.log(options.id); // 输出123
}

网络请求封装

推荐使用uni.request封装为Promise风格,便于异步处理:

export const http = (url, method = 'GET', data = {}) => {
  return new Promise((resolve, reject) => {
    uni.request({
      url: 'https://api.example.com' + url,
      method,
      data,
      success: (res) => resolve(res.data),
      fail: (err) => reject(err)
    });
  });
};

// 调用示例
async fetchData() {
  try {
    const res = await http('/list', 'POST', { page: 1 });
    console.log(res);
  } catch (error) {
    console.error(error);
  }
}

数据缓存策略

  • 短期缓存:使用uni.setStorage存储接口返回数据,下次请求前优先读取缓存。
  • 数据过期:通过时间戳判断缓存是否过期,例如设置10分钟有效期。

示例:

const KEY = 'cache_data';
function getCache() {
  const cache = uni.getStorageSync(KEY);
  if (cache && Date.now() - cache.time < 600000) {
    return cache.data;
  }
  return null;
}

function setCache(data) {
  uni.setStorageSync(KEY, { data, time: Date.now() });
}

性能优化建议

  • 分页加载数据时,使用scroll-viewonReachBottom事件实现懒加载。
  • 大数据列表渲染时,使用v-forkey属性,或通过uni.$emit分片渲染。
  • 避免频繁setData,合并多次操作为单次更新。

通过以上方法,可高效处理uniapp中的数据操作与性能问题。

标签: 实战数据
分享给朋友:

相关文章

vue实现数据拖动

vue实现数据拖动

Vue 实现数据拖动 使用 HTML5 拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 drop 事件…

vue实现数据分页

vue实现数据分页

Vue 实现数据分页的方法 使用计算属性分页 在 Vue 中,可以利用计算属性对数据进行分页处理。这种方法适用于前端分页,即一次性获取所有数据后在客户端进行分页。 data() { return…

vue实现数据双向

vue实现数据双向

在Vue中实现数据双向绑定主要依靠v-model指令,它结合了属性绑定和事件监听,适用于表单元素或自定义组件。以下是具体实现方式: 基础表单元素的双向绑定 对于原生表单元素(如input、texta…

vue怎么实现数据监听

vue怎么实现数据监听

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

vue++实现数据滚动

vue++实现数据滚动

Vue 实现数据滚动的方法 使用 CSS 动画实现滚动 通过 CSS 的 @keyframes 和 animation 属性可以实现简单的数据滚动效果。定义一个动画,使内容从下往上移动。 <t…

vue实现对表格数据

vue实现对表格数据

实现表格数据展示 在Vue中展示表格数据通常使用<table>标签或第三方组件库(如Element UI/ANT Design)。以下以原生Vue为例: <template>…