当前位置: 首页 > ds >正文

微信小程序中的计算属性库-miniprogram-computed

miniprogram-computed 是一个用于微信小程序的扩展库,它提供了计算属性(computed)和监听器(watch)的功能,类似于 Vue.js 中的计算属性和监听器。以下是使用 miniprogram-computed 的详细步骤:

安装与构建

  1. 在项目根目录下运行以下命令安装 miniprogram-computed
    npm install --save miniprogram-computed
    
  2. 在微信开发者工具中构建 npm:
    • 打开开发者工具。
    • 点击“工具”菜单。
    • 选择“构建 npm”。

使用计算属性 computed

  1. 引入 computedBehavior
    在需要使用 computed 的页面或组件的 JS 文件中,引入 computedBehavior
    import { behavior as computedBehavior } from 'miniprogram-computed';
    
  2. 在页面或组件中使用 computed
    • 在页面或组件的配置对象中添加 behaviors 属性,并将 computedBehavior 添加进去。
    • 定义 computed 属性,其值是一个对象,对象的键是计算属性的名称,值是一个函数,该函数的参数是组件的 data 对象。
    Page({behaviors: [computedBehavior],data: {a: 1,b: 2,},computed: {sum(data) {// 注意:computed 函数中不能访问 this,只有 data 对象可供访问return data.a + data.b;},},methods: {onTap() {this.setData({a: this.data.b,b: this.data.a + this.data.b,});},},
    });
    
  3. 在 WXML 文件中使用计算属性
    <view>A = {{a}}</view>
    

B = {{b}}
SUM = {{sum}}
点击更新


### 使用监听器 `watch`
1. **定义 `watch`**:在页面或组件的配置对象中定义 `watch` 属性,其值是一个对象,对象的键是要监听的数据字段,值是一个函数,该函数会在数据变化时被调用。```javascriptwatch: {a(newVal, oldVal) {console.log(`a changed from ${oldVal} to ${newVal}`);},b(newVal, oldVal) {console.log(`b changed from ${oldVal} to ${newVal}`);},},
  1. 监听多个字段
    可以同时监听多个字段,字段名用逗号分隔。
    watch: {'a,b': function(a, b) {console.log(`a=${a}, b=${b}`);},
    },
    

注意事项

  • computed 函数中不能访问 this,但可以通过参数访问 data 对象。
  • 计算属性具有缓存特性,只有当依赖的数据发生变化时,才会重新计算。
  • 如果需要在组件中使用,需要将 Component 替换为 ComponentWithComputed

通过以上步骤,你可以在微信小程序中使用 miniprogram-computed 来实现计算属性和监听器功能,从而更高效地管理数据和响应数据变化。

http://www.xdnf.cn/news/13429.html

相关文章:

  • 23-Oracle 23 ai 区块链表(Blockchain Table)
  • Cursor 工具项目构建指南:MySql 数据库结构设计的 Cursor 规范
  • MongoDB 基础
  • 鸿蒙考试-Ability生命周期篇
  • 到院率最高提升40%,消费医疗用AI营销机器人跑赢增长焦虑
  • 【python深度学习】Day 50 预训练模型+CBAM模块
  • 高效多尺度网络与可学习离散小波变换用于盲运动去模糊
  • 第四章 RAG 知识库基础
  • CanFestival移植到STM32G4
  • HTML实现的2048游戏
  • 从算法到系统架构:AI生成内容连贯性技术深度解析
  • 全网首发!AgentCPM-GUI通过adb操控手机教程
  • pikachu靶场通关笔记23 SQL注入06-delete注入(报错法)
  • RT_Thread——邮箱
  • Monorepo + PNPM 搭建高效多项目管理
  • 基于流形迁移学习的快速动态多目标进化算法(MMTL-MOEA/D)求解FDA1-FDA5和dMOP1-dMOP3,提供完整MATLAB代码
  • ubuntu桌面x11异常修复
  • 《安富莱嵌入式周报》第354期: 开源36通道16bit同步数据采集卡,开源PoE以太网GPIB,分体式键盘DIY,微软WSL开源,USB转车载以太网
  • 第5章 类的基本概念 笔记
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | EventKey Codes(键盘码)
  • Vim 调用外部命令学习笔记
  • 主键(PRIMARY KEY)与唯一键(UNIQUE KEY)的区别详解
  • 代码随想录算法训练营第60期第六十四天打卡
  • Maven 多仓库配置及缓存清理实战分享
  • 反向工程与模型迁移:打造未来商品详情API的可持续创新体系
  • 工厂方法模式(Factory Method Pattern)
  • 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (三)
  • 通义灵码 AI IDE 上线!智能体+MCP 从手动调用工具过渡到“AI 主动调度资源”
  • 欧盟手机和平板电脑生态设计和能源标签法案解析
  • 零基础玩转物联网-串口转以太网模块如何快速实现与MQTT服务器通信