微搭低代码从入门到精通05-变量定义

news2024/9/30 3:31:30

我们上一篇对应用编辑器有了一个整体的介绍。要想零基础开发小程序,就得从各种概念开始学起。

如果你是零基础学习开发,无论学习哪一门语言,第一个需要掌握的知识点就是变量。

那么什么是变量?变量其实就是存放数据的一个容器,这个容器呢是从计算机的内存分配的。如果换成小程序,那么手机的内存就是存放变量的地方。

日常在教学的过程中,学员会问,如果我定义一个变量,我修改了这个变量的内容,另外一个人是否可以感知到。是不是我们共同使用这个变量。

其实这就需要对小程序运行原理有一个比较深的认识,你作为用户,当你打开小程序的那一刻起,小程序运行的所有资源就下载到你本地了,你操作的相当于你本地的资源。

如果你改变了变量的内容,这里涉及到一个持久化的概念,就是你关闭小程序的时候是不是你操作过的内容都消失了。

为了让你修改过的内容下一次读取的时候还存在,我们就需要把内容存到服务器里,下次访问的时候我们就可以从服务器读取回来。

那这个服务器读取的内容呢分成几个部分,一种是你上传的附件,比如图片,音频、视频。另外就是结构化的数据,比如在预约表单中,你提交的信息,比如预约的地点、时间需要的服务内容等等。

我们这些附件在服务器上需要存储到磁盘里,存储的路径呢我们会记录到数据库里,这样就便于根据路径来找到具体的资源。

用户录入的这些信息会存储到数据库里,这些信息最终会分配一个唯一的标识,在微搭中叫数据标识。你下次加载数据的时候就可以通过这个数据标识找到数据。

01 变量的类型

我们的变量是有类型的,可以存放不同的数据。就像我们生活中有各种各样的容器,杯子、碗、盘子,不同的器具的形状和体积不同,因此放入的内容也不同。

微搭中的变量类型分为文字、数字、布尔值、数组、对象五种。

在这里插入图片描述

初学的人不知道五种类型的数据的应用场景,比如我们可能需要展示用户的昵称,那么这个昵称就可以使用文本类型。

又比如我们在会员小程序里需要展示会员的余额,我们就可以使用数字类型。

布尔类型的取值范围是真或者假,计算机用true表示真,用false表示假。那这种类型有啥用呢?比如我们定义一个变量表示用户是否是会员,如果为false我们就表示非会员,如果为true就表示会员。

通常布尔类型的变量用来做权限控制,尤其是在组件的条件展示时,就可以绑定布尔类型的变量,根据变量的值来决定组件是否显示。

那么数组又是什么,数组可以理解为我们一栋酒店,我们入驻的时候根据房号来找到对应的房间。每一个房间又可以存放具体的数据,存放的数据又可以是文本、数字、布尔值、对象和数组。

对象呢是一组属性和属性值的集合,比如我们还拿会员小程序举例。我们可以定义一个变量为会员,里边的属性包括昵称、性别、手机号码、出生日期、会员等级这些属性。

02 变量的作用域

微搭中变量的作用域有两种类型,一种是全局变量,另外一种是页面级别的变量。全局变量在每个页面都可以使用,而页面级别的变量只能在本页面中使用

在这里插入图片描述

03 变量的初始化

在变量创建的时候需要对变量初始化,如果是文本,不知道值默认初始化为空,空是指没有实际的内容

在这里插入图片描述

如果是数字不初始化的话默认值是0

在这里插入图片描述

布尔值初始化的时候可以指定为true或者false

在这里插入图片描述

数组的话需要指定是自己定义还是从数据源中读取,如果自己指定,定义的时候要选择JSON

在这里插入图片描述

如果是需要从数据源中读取,那么需要选择具体的数据源

在这里插入图片描述

还有需要注意的是如果是自己指定,默认值需要输入一对儿中括号[]

在这里插入图片描述

对象类型也需要选择是自主指定还是从数据源读取

在这里插入图片描述

自己指定需要选择JSON,初始化的时候使用一对儿大括号的语法

如果是从数据源读取,那么还需要指定方法

在这里插入图片描述

04 变量的赋值

变量定义好后,我们可以在程序运行的过程中改变变量的值。有两种方法可以对变量进行重新赋值,一种是在代码编辑器的自定义方法中进行重新赋值,另外一种是使用平台方法的赋值语句完成赋值

在代码编辑器中如果需要赋值的,我们是使用变量路径来找到变量,然后使用等号作为赋值语句,将对应的值赋给变量,具体的语法是

$page.dataset.state.*** = ***

因为变量有作用域,全局变量的路径和页面变量不同,全局变量的赋值语法是

app.dataset.state.*** = ***

如果使用平台方法我们可以使用setState

在这里插入图片描述

选择需要的变量,填入赋值的内容即可

在这里插入图片描述

可视化的方法通常用在比如我们的查询界面,将查询条件获取到的值赋值给变量

05 变量绑定

变量定义好后要如何使用呢?通常我们用在给组件绑定属性上,比如我们的文本组件需要绑定文本内容的时候,就可以从定义的变量中选择
在这里插入图片描述
在这里插入图片描述

总结

我们本篇介绍了低码编程的第一个基础概念,变量,包含了定义、初始化、赋值、变量绑定等相关概念。低码开发本质上也是开发,只是平台封装了大量的内容,让我们的编程更方便,并不是说不需要掌握任何概念可以直接上手编程。

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

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

相关文章

专题 | 防抖和节流

一 防抖:单位时间内,频繁触发事件,只执行最后一次 场景:搜索框搜索输入(利用定时器,每次触发先清掉以前的定时器,从新开始) 节流:单位时间内,频繁触发事件&…

Yii2模板:自定义头部脚部文件,去掉头部脚部文件

一、yii安装完成之后,运行结果如下图二、如何自定义头部脚部文件呢0、默认展示1、在类里定义,在整个类中生效2、在方法中定义,在当前方法中生效3、home模板介绍三、去掉头部脚部文件1、控制 $layout 的值2、把action中的render改为renderPart…

前端对于深拷贝和浅拷贝的应用和思考

浅拷贝 浅拷贝 : 浅拷贝是指对基本类型的值拷贝,以及对对象类型的地址拷贝。它是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据。最简单直接的浅拷贝就…

java ssm集装箱码头TOS系统调度模块的设计与实现

由于历史和经济体制的原因,国内码头物流企业依然保持大而全的经营模式。企业自己建码头、场地、经营集装箱运输车辆。不过近几年来随着经济改革的进一步深入和竞争的激烈,一些大型的码头物流企业逐步打破以前的经营模式,其中最明显的特征就是…

利用机器学习(mediapipe)进行人脸468点的3D坐标检测--视频实时检测

上期文章,我们分享了人脸468点的3D坐标检测的图片检测代码实现过程,我们我们介绍一下如何在实时视频中,进行人脸468点的坐标检测。 import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_face_mesh = mp.solutions.face_mesh face_mesh = mp_fac…

ubuntu 驱动更新后导致无法进入界面

**问题描述: **安装新ubuntu系统后未禁止驱动更新导致无法进入登录界面。 解决办法: 首先在进入BIOS中,修改设置以进行命令行操作,然后卸载已有的系统驱动,最后安装新的驱动即可。 开机按F11进入启动菜单栏&#xf…

【JavaScript 逆向】安居客滑块逆向分析

声明本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!案例目标验证码:aHR0cHM6Ly93d3cuYW5qdWtlLmNvbS9jYXB0Y2hhLXZlcmlmeS8/Y2FsbGJhY2s9c2hpZWxkJmZyb209YW50aXNwYW0以上均做了脱敏处…

如何准备大学生电子设计竞赛

大学生电子设计竞赛难度中上,一般有好几个类型题目可以选择,参赛者可以根据自己团队的能力、优势去选择合适自己的题目,灵活自主空间较大。参赛的同学们可以在暑假好好学习相关内容,把往年的题目拿来练练手。这个比赛含金量还是有…

数据可视化,流程化处理pycharts-

本文直接进入可视化,输入讲解输入列表生成图片,关于pandas操作看这篇pandas matplotlib 导包后使用 import matplotlib.pyplot as plt饼图 使用 plt.figure 函数设置图片的大小为 15x15 使用 plt.pie 函数绘制饼图,并设置相关的参数&…

详细的从零部署ChatGPT

chatgpt产品机遇: 1. chatgpt 所带来的机遇: 下一代 AI 搜索引擎,解决目前搜索引擎结果多样复杂、需要人工判断准确定的问题;替代低端劳动岗位、释放部分脑力活动、即将变革多个行业 ; 2. chatgpt 我分析将带来多个新的工作岗位机…

【Opencv实战】想给图片去水印?这样操作,几百张图片1分钟无痕去水印,这款去水印神器终于被我找到啦~(超厉害的)

前言 🚀 作者 :“程序员梨子” 🚀 **文章简介 **:本篇文章主要是写了opencv的人脸检测、猫脸检测小程序。 🚀 **文章源码免费获取 : 为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无…

REDIS-持久化方案

我们知道redis是内存数据库,它的数据是存储在内存中的,我们知道内存的一个特点是断电数据就丢失,所以redis提供了持久化功能,可以将内存中的数据状态存储到磁盘里面,避免数据丢失。 Redis持久化有三种方案,…

【Node.js】 创建web服务器

Node.js什么是客户端,什么是服务器服务器和普通电脑的区别什么是http模块导入http模块服务器相关概念创建web服务器的基本步骤req请求对象req响应对象解决中文乱码根据不同的url响应不同的html内容什么是客户端,什么是服务器 客户端在网络节点中&#x…

CentOS7 配置共享文件夹

1、SSH连接CentOS,使用“rpm -qi samba"命令查询是否已经安装了Samba,如果没有安装,使用“yum install samba”命令,下载Samba包并安装,输入“y”,确认安装软件和软件依赖包。 2、使用“rpm -qa | gr…

kubernetes -- 核心组件介绍以及组件的运行流程

常用组件大白话说 如果想要官方的,详细的信息,请看官方文档。 https://kubernetes.io/zh-cn/docs/concepts/overview/components/ 现在介绍一些核心的概念: etcd:存储所有节点的信息,节点上部署的容器信息等都存在数…

SWIG妙用: MATLAB程序转python和Java库

1.引言Python或Java调用MATLAB程序需要安装MATLAB官方提供的支持库(MATLAB Runtime),而且适配的python或JDK版本有限,不方便移植。本文的思路是用MATLAB Coder将MATLAB源程序转为C/C代码,然后用swig将其打包成python 动…

Spring Cloud Alibaba Sentinel 动态规则扩展

前言 到目前为止&#xff0c;我们的规则定义是这样的&#xff1a; PostConstructpublic void initRole(){List<FlowRule> rules new ArrayList<>(1);FlowRule rule new FlowRule();// 设置规则匹配的资源名称rule.setResource("myFlowResource");// 规…

基于云原生分布式存储ceph实现k8s数据持久化

文章目录1、初始化集群1.1 集群机器配置1.2 配置主机名1.3 配置hosts文件1.4、配置互信1.5、关闭防火墙1.6、关闭selinux1.7、配置Ceph安装源1.8、配置时间同步1.9、安装基础软件包2、安装ceph集群2.1 安装ceph-deploy2.2 创建monitor节点2.3 安装ceph-monitor2.4 部署osd服务2…

Springboot毕业生生活用品出售网站系统-java ssm

(a) 管理员&#xff1b;管理员进入系统主要功能包括个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;用品分类管理&#xff0c;用品信息管理&#xff0c;系统管理&#xff0c;订单管理等功能并进行操作。 (b) 商家&#xff1b;商家进入系统主要功能包括个人中心&…

2004-2019年285个地级市实际GDP与名义GDP

2004-2019年285个地级市实际GDP和名义GDP 1、时间&#xff1a;2004-2019年 2、范围&#xff1a;285个地级市 3、说明&#xff1a;GDP平减指数采用地级市所在省份当年平减指数 4、代码&#xff1a; "gen rgdp gdp if year 2003 gen rgdp gdp if year 2003" re…