微信小程序数据传递的方式-页面数据的存取

news/2024/7/20 4:34:48 标签: 微信小程序, 小程序

        我们在把数据显示到页面的时候,为了实现良好的互动,都希望在用户点击某个栏目后,获取这个栏目的捆绑数据,然后执行后续的操作。

        例如,从数据库里取出对应的记录后,显示在页面上,是一条条的大横条,用户点击某个横条的时候,就是选择了某条记录,此时在js端,就希望能获取用户点击的是哪条记录,并且这个记录的各个字段从页面直接搬过来,不用重新到数据库去查询了。

        这里就要用到页面控件的“data-*”属性了,显示页面数据时,把数据记录显示在控件的各个data-*属性中,需要的时候就从页面这些data-*属性里取出来。

        例如,我要把device_id变量的值存入页面中,就可以写成:

        <view data-deviceid="{{device_id}}" bindtap="onBarTap">点击获取数据</view>

        获取的时候,在js里写:

        onBarTap(e){

                var deviceId=e.target.dataset.deviceid;               //获取对应data-deviceid的存放数据

        }

        这样就可以获取data-deivceid里这个deviceid数据了,要注意的是,取出来的时候要注意去掉“data-”前缀。当然这里的“{{device_id}}”里的device_id必须是在js里的Page里的data要先赋值。

        接下来给个简单的page做参考,例如新建demo页面,demo.wxss和demo.json都默认,我们只是参考demo.wxml和demo.js两个源码。

        =============================================================

demo.xml:

<!--pages/index/demo.wxml-->
<text>pages/index/demo.wxml</text>
<view>
    <button data-itemId="{{item_id}}" bindtap="getdata">获取数据</button>
</view>

demo.js

// pages/index/demo.js
Page({
  data: {
    item_id:"DEVICE_000302938049898",        //给item_id先赋个值
  },
  onLoad: function (options) {
  },
  getdata:function(e){
    console.log(e.target.dataset.itemid);    //从页面取出来,去掉前缀
  },
})

        这样第9行显示的结果就是:DEVICE_000302938049898

        总结,存:是利用js的公用数据data段的赋值,直接刷新显示;取:是利用js里的传递过来的event,就是上面的e,里面的e.target.dataset.xxxx来获取,要去掉data-前缀。


http://www.niftyadmin.cn/n/5190427.html

相关文章

腾讯云轻量应用服务器使用场景列举说明

腾讯云轻量应用服务器&#xff08;TencentCloud Lighthouse&#xff09;是新一代开箱即用、面向轻量应用场景的云服务器产品&#xff0c;轻量应用服务器可用于搭建中小型网站、Web应用、博客、论坛、小程序/小游戏、电商、云盘/图床、云端开发测试和学习环境等轻量级、中低负载…

开源mes系统有哪些优势可以助力制造业

由于制造业企业对生产的要求变高&#xff0c;mes制造执行系统已成为制造业生产管理的重要工具。因为mes管理系统的功能强大&#xff0c;集数据分析、智能排产、生产建模、质量管理、生产管理、计划管理、设备管理和绩效考核等功能为一体&#xff0c;为企业提供了全面的生产管理…

腾讯云S5服务器4核8G配置价格表S5.LARGE8性能测评

腾讯云服务器4核8G配置优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;腾讯云百科txybk.com分…

基于SSM的中小型企业财务管理设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Uniapp有奖猜歌游戏系统源码 带流量主

有奖猜歌游戏是一款基于uni-app、uniCloud、uniAD 开发的小游戏,通过猜歌曲、观看广告赚取现金奖励。 本游戏基本特征如下: 1、玩家可以通过猜歌、做任务等方式直接获取现金奖励 2、玩家可以通过猜歌、拆红包、做任务等方式获取金币奖励,当金币累积到一定数量可以兑换现金 3…

基于数据库(MySQL)与缓存(Redis)实现分布式锁

分布式锁 分布式锁&#xff1a;分布式锁是在分布式的情况下实现互斥类型的一种锁 实现分布式锁需要满足的五个条件 可见性&#xff1a;多个进程都能看到结果互斥性&#xff1a;只允许一个持有锁的对象的进入临界资源可用性&#xff1a;无论何时都要保证锁服务的可用性&#x…

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】机器视觉(基础篇)(三)

目录 前言 几个高频面试题目 如何解决机器视觉稳定性差的问题? 知识储备 机器视觉基础知识点 阿秒脉冲

springcloud新闻发布系统源码

开发技术&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;nodejs&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示搜索新闻&#xff0c;新闻分类&#xff0c;新闻列表…