从0开始学习制作一个微信小程序 前端学习部分(7)数据控制操作,修改、判断等

news2024/11/25 11:29:10

系列文章目录

本系列会从前后端的全面角度讲述制作小程序,从零开始学小程序,跟着本系列就够了!
前端学习篇
学习篇第一篇我们讲了编译器下载,项目、环境建立、文件说明与简单操作:第一篇链接
第二、三篇分析了几个重要的配置json文件,是用于对小程序进行的切换页面、改变图标、控制是否能被搜索到等的操作第二篇链接、第三篇链接
第四五六篇学习了框架、api组件:
第四篇链接:rpx和轮播图
第五章链接:文字组件和跳转组件
第六章链接:滚动组件,组件讲完,继续事件绑定的学习。
本文将继续讲解小程序中的各种数据操作,非常重要,请务必动手尝试!以后页面中的传参、做判断要用的!!


目录

  • 系列文章目录
  • 一、数据控制操作
    • 1)data,双大括号包裹应用
      • a)展示数据
      • b)动态绑定变量
      • c)如果属性值是bool类型的,也需要大括号包裹。
      • d)可以进行简单运算
    • 2)data 数据更新
    • 3)data数据更新对象——改变页面数据
    • 4)dataset新增属性
    • 5)列表增加/修改/删除属性
      • a)基础
      • b)辨析
      • c)更改、删除操作
      • d)过滤器
        • 元素判断

一、数据控制操作

1)data,双大括号包裹应用

a)展示数据

js的page中:

   data: {
      data_test : 'data测试显示'
    },

wxml:

<view>{{data_test}}</view>


也能成功显示数据

b)动态绑定变量

<view id="{{data_test}}">绑定属性值</view>

这样 ,就可以动态绑定id为datatest的值。

c)如果属性值是bool类型的,也需要大括号包裹。

<checkbox checked="{{ true }}" />

可以输出一个可以点击是否选择的选择框

但是不加上{{}}就会有error。

d)可以进行简单运算

可以进行算数运算
加减乘除都行,加括号改变运算优先级也是没问题的。
注:int_test = 2

<view>{{int_test * (8 - 5) * 2 - 5}}</view>


可以进行三元运算

<view>{{int_test==1 ? 1 : "文字"}}</view>


大括号包裹只能输入如上表达式,不能使用if等语句,但是有三元运算一般够用,再多可以用后端处理。

2)data 数据更新

js:

    upgrade_int(evet){
        this.data.int_test += 10
        console.log(this.data.int_test)
    },

wxml:

<button bind:tap="upgrade_int">更新int_test数据</button>

通过绑定更新函数,我们就可以在更新函数中修改data中参数的值。this是指针,指向本类中的data。

3)data数据更新对象——改变页面数据

js

   upgrade_int(event){
        // this.data.int_test += 10
        // console.log(this.data.int_test)
        this.setData({
        int_test: this.data.int_test+10
        })
    },

如果我们希望实时修改页面上的数据,我们需要使用setData函数,int_test的新数据为冒号后的运算和,this.data.int_test是指目前的int_test值。

按两下后变为2+10+10为22

4)dataset新增属性

我们现在data中加入new_data:{}
然后再wxml中输入<view>{{ new_data.name }}</view>此时由于newdata中不存在name变量,所以是不会渲染的。
我们接下来新增name属性,我们先加入一个按钮

<button type="warn" bind:tap="add_name">增加变量name</button>

绑定一个add_name函数,然后我们编辑add函数

    add_name(){
       this.setData({
        'new_data.name' : '新增成功'
       })

同样用set函数,用.选中newdata,在其中加入一个name属性。
在这里插入图片描述
点击按钮后会显示新增成功。
注:如果想要修改新增的属性,也是按照新增属性的格式,更改属性值即可。

5)列表增加/修改/删除属性

a)基础

<button type="warn" bind:tap="ex_name">修改变量name</button>
<view wx:for="{{new_data}}" wx:key="index">{{item}}</view>

js

    ex_name(){
      this.data.new_data.push(4)
      this.setData({
        new_data : this.data.new_data
      })
    },

data

      new_data:[1,2,7]

我们在框架中定义一个按钮,绑定增加元素.push的方法,然后用循环取出列表中的数据。
在这里插入图片描述
点击修改变量两下,成功添加了两个4
在这里插入图片描述

b)辨析

那这个与上面那个添加name有什么区别呢?我们做一个小实验。
wxml:

<view>{{ new_data.name }}</view>
<button type="warn" bind:tap="add_name">增加变量name</button>
<button type="warn" bind:tap="ex_name">修改变量name</button>
<view wx:for="{{new_data}}" wx:key="index">{{item}}</view>

js:

    ex_name(){
      this.data.new_data.push(4)
      this.setData({
        new_data : this.data.new_data
      })

    },
    add_name(){
       this.setData({
        'new_data.name' : '新增成功'
       })
    },

在这里插入图片描述
我们点击增加变量name,显示增加成功,newdata中只有name一个东西。
再点击修改变量name,发现出错了TypeError: this.data.new_data.push is not a function在这里插入图片描述
这就说明了原因。用上一种方法相当于将new_name作为对象,给这个对象添加了一个name属性,而push是针对列表经行增加操作,故而将其变成对象后push失效,产生错误。

c)更改、删除操作

更改列表操作
处理push加入操作,我们还可以对列表修改
‘new_data[1]:6’
再setdata函数中,使用列表索引,索引第2为,将其更改为6(索引从0开始,所以1是第二位)
列表删除操作
列表元素初始为1 2 7
.js文件:

    delete_name(){
      this.data.new_data.splice(1,2)
      this.setData({
        new_data:this.data.new_data
      })
    },

框架文件:

<button type="warn" bind:tap="delete_name">删除变量</button>
<button type="warn" bind:tap="ex_name">修改变量name</button>
<view wx:for="{{new_data}}" wx:key="index">{{item}}</view>

我们先点击修改,在list末尾添加一个4,在点击删除变量,结果如下。
在这里插入图片描述
结果解释.splice()函数的用法:
.splice()函数后的两个参数,此处为1和2,1表示索引位,即从第二个数开始删除,2表示删除元素的数量,此处删除了两个。

d)过滤器

有时候,我们需要从列表中取数据,但有不想损坏原来的列表,我们就可以使用过滤器。
注意,列表初始值为1 2 7

元素判断

js中page:

    ex_name(){
      const newlist = this.data.new_data.filter(item=> item!==2)
      this.setData({
        new_data : newlist
      })
    },

框架:

<button type="warn" bind:tap="ex_name">修改变量name</button>
<view wx:for="{{new_data}}" wx:key="index">{{item}}</view>

在这里插入图片描述
这个item过滤器就是能将列表中为2的值过滤掉,拿出不是2的,组成一个新列表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1633791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(六)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 12 - 13节&#xff09; P12《11.ArkUI组件-循环控制》 forEach() 方法的使用方式&#xff1a; 在预览界面点击红框的按钮&#xf…

KKView远程控制2.0版本发布,TeamViewer面临巨大挑战

KKView远程控制2.0版本发布&#xff0c;TeamViewer面临巨大挑战 近日&#xff0c;备受瞩目的远程控制软件KKView发布了其全新2.0版本&#xff0c;KKView以其独特的创新性和用户友好的设计&#xff0c;为远程办公、远程培训等领域提供了更加高效、便捷的解决方案。 KKView远程…

Hive 表定义主键约束

文章目录 1.建表语句2.主键约束3.主键约束的意义参考文献 1.建表语句 先看一下官方给的完整的见表语句&#xff1a; CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later)[(col_name data…

助力企业部署国产云原生数据库 XSKY星辰天合与云猿生完成产品互兼容认证

近日&#xff0c;北京星辰天合科技股份有限公司&#xff08;简称&#xff1a;XSKY 星辰天合&#xff09;与杭州云猿生数据有限公司&#xff08;简称“云猿生”&#xff09;完成了产品互兼容认证&#xff0c;星辰天合企业级分布式统一数据平台 XEDP 与云猿生的开源数据库管控平台…

【银角大王——Django课程——用户表的基本操作】

Django课程——用户表的基本操作 模板的继承用户管理用户列表展示新建用户Django组件原始方法【麻烦&#xff0c;太原始】form组件modelform组件 使用modelsform组件编写添加页面 模板的继承 &#xff08;1&#xff09;先写一个页面模板————这个案例中的模板基本上就是一个…

【Spring AI】09. ETL 管道

文章目录 ETL PipelineAPI 概述入门指南ETL 接口和实现DocumentReaderJsonReaderTextReaderPagePdfDocumentReaderParagraphPdfDocumentReaderTikaDocumentReader DocumentTransformerTextSplitterTokenTextSplitterContentFormatTransformerKeywordMetadataEnricherSummaryMet…

ABAP 数据写入Excel 并保存

参考老白 https://www.cnblogs.com/liaojunbo/archive/2011/09/06/2168552.html 但是缺zcl_excel 。需要从 dotabap要引入abap2xlsx 英文版进入后 尝试了一下 1&#xff09;列的宽度自适应么有找到在哪里&#xff1f; 列宽设置 lo_worksheet->set_column_width( ip_co…

Linux第十五章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

22 - Hadoop HA 高可用集群搭建、手动模式、自动模式以及HA模式集群

目录 1、HA 概述 2、HDFS-HA 集群搭建 2.1、HDFS-HA 核心问题 3、HDFS-HA 手动模式 3.1、环境准备 3.2、规划集群 3.3、配置 HDFS-HA 集群 3.4、启动 HDFS-HA 集群 4、HDFS-HA 自动模式 4.1、HDFS-HA 自动故障转移工作机制 4.2、HDFS-HA 自动故障转移的集群规划 4.…

Three.js 的优势

Three.js 是一个非常流行的基于 WebGL 的 JavaScript 库&#xff0c;用于在浏览器中创建和展示 3D 内容。以下是 Three.js 的一些主要优势&#xff0c;这些优势使得 Three.js 成为创建和展示 3D 内容的强大工具&#xff0c;无论是对于初学者还是经验丰富的开发者。北京木奇移动…

OFDM802.11a的FPGA实现(七)一级交织:分组交织器(含verilog和matlab代码)

1.前言 在前面的文章中讲解了卷积编码和删余&#xff0c;实现了1/2、2/3、3/4编码速率的输出。数据域在编码之后&#xff0c;下一个部分就是交织。今天对交织进行具体实现。 交织是为了在时域或频域或者同时在时域、频域上分布传输的信息比特,使信道的突发错误在时间上得以扩散…

LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测(Matlab)

LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09; 目录 LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.LSTM-KDE的长短期…

CVE-2022-2602:unix_gc 错误释放 io_uring 注册的文件从而导致的 file UAF

前言 复现该漏洞只是为了学习相关知识&#xff0c;在这里仅仅做简单记录下 exp&#xff0c;关于漏洞的详细内容请参考其他文章&#xff0c;最后在 v5.18.19 内核版本上复现成功&#xff0c;v6.0.2 复现失败 漏洞利用 diff --git a/include/linux/skbuff.h b/include/linux/s…

网络安全之密码学技术

文章目录 网络信息安全的概念数据加密|解密概念密码学概论密码学分类古典密码学现代密码学 现代密码学的相关概念对称加密算法对称加密算法—DES对称加密算法—3DES对称加密算法—AES对称加密算法—IDEA 非对称加密算法非对称加密算法—RSA非对称加密算法—ElGamal非对称加密算…

高扬程水泵,提升水源新选择!— 恒峰智慧科技

在炎炎夏日&#xff0c;阳光炙烤着大地&#xff0c;森林火灾的发生频率也随之上升。火势猛烈&#xff0c;烟雾弥漫&#xff0c;给森林带来了极大的破坏。为了保护森林资源&#xff0c;我们必须采取有效的措施来扑灭火灾。而在这其中&#xff0c;高扬程水泵成为了提升水源新选择…

buuctf——web题目练习

1.极客大挑战2019 easysql 密码或者用户输入万能密码即可 关于万能密码的理解和原理&#xff0c;可以参考这篇BUUCTF[极客大挑战 2019] EasySQL 1_[极客大挑战 2019]easysql 1-CSDN博客 2.极客大挑战2019 have fun 题目源码 需要构造payload 网页传参可参考&#xff1a;…

Vue Cli脚手架—安装Nodejs和Vue Cli

一&#xff0c;Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二&#xff0c;.环境配置&#xff0c;搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

ubuntu sudo apt-get install neo4j 配置安装与设置远程访问

文章目录 下载Adding the Debian repositoryInstalling Neo4j安装流程设置远程访问 下载 neo4j 官方的下载地址&#xff0c;进入页面之后&#xff0c;往下滑&#xff1a; https://neo4j.com/deployment-center/#community 点击 Visit https://debian.neo4j.com/ Adding the …

Windows Server Backup设置定时备份保留N天

Windows Server - 运维篇 第四章 Windows Server Backup设置定时备份保留N天 Windows Server - 运维篇系列文章回顾Windows Server Backup设置定时备份保留N天使用VSS卷影复制服务工具删除指定天数的VSS备份文件CMD&#xff1a;wbadmin.exeCMD&#xff1a;wbadmin.mscPowerShel…

【RSGIS数据资源】2018-2020年中国农业大学石羊河实验站主要农作物的无人机观测数据

文章目录 摘要数据介绍2018年蒸腾(T)数据集2020年蒸散发&#xff08;ET)数据集2020年LAI数据集2019年NDVI数据集作物2020年NDVI数据集作物三温模型的输入参数气象数据净辐射通量数据 参考文献引用 摘要 本数据集涵盖了甘肃武威绿洲农业高效用水国家野外科学观测研究站&#xf…