同学们大家好,我是小伊同学,今天带领大家学习WXML部分一个重要的知识点,数据绑定。

简单来讲,数据绑定就是通过双重花括号将一个变量绑定到界面上。

首先,我们为什么要将变量绑定到页面上呢?因为在制作一个小程序时,很多数据都是后端服务器返回给我们的,我们需要对这些数据进行处理后显示在页面上,也就是说,这些数据是动态的,我每次加载小程序都先去询问服务器,那么我就不能在代码中将这些数据直接写在前端界面中。

例如,用户的某些操作记录,账户余额等等信息,都唯一地保存在服务器端,而小程序则完成了一个获取并展示的作用。要实现这样的效果,我们就需要在wxml使用变量,当程序运行时通过对变量赋不同的值来完成数据的加载显示。这就是数据绑定的意义。

数据绑定的格式是,在wxml文件中需要的地方加入双花括号,括号中写变量名称,然后将该变量在js文件中进行定义。当wxml在加载组件及组件的属性时,会自动将该格式下的变量名拿到js文件中寻找,并将数据值渲染到页面上。

这样,通过js对该变量的具体值进行改变后,显示在页面上的数值就会跟着改变了。具体示例请看右边的两幅图,上面是页面的wxml文件,中间是页面的js文件,最下面则是运行结果。可以看到,我们在js中对变量的赋值直接显示到了wxml中。

那么,到底在wxml中哪些地方可以使用数据绑定呢?主要有以下几处位置:

第一,放在内容中,用我们之前学习的组件标签包括起来。

第二,使用数据绑定来动态改变属性值,包括组件属性或者控制属性,这里的id就是在js中我们需要定义好的变量,而下面的控制属性wx:if语句用于控制这个组件是否显示,如果condition变量为真值则显示,为假不显示。

最后,用于控制关键字,需要说明的是,这里的true和false并不代表变量,而是boolean类型,表示真值和假值。如果我们直接写成checked=“false”,去掉双重花括号,其计算结果是一个字符串,转成boolean类型后无论是true还是false最后都代表真值。(空字符串才为假)

此外,也可以在{{}}内进行简单的运算,例如三元运算和算术运算。在三元运算中,这里的花括号中为一个表达式,其一般形式为变量、空格、问号、空格、数值A、冒号、数值B。当变量等于第一个值时,表达式的结果为真,也就是这里flag变量为真值,即等于true时,最终hidden属性为true,即组件被隐藏,而当flag为false时,表达式结果为假,组件不被隐藏。

在进行算数运算时要注意,只有在双重花括号中的运算符,如加号减号等,具有运算符的作用,对前后的变量值完成算术运算,而在花括号外的运算符没有运算能力,仅仅是字符串。

所以对于这里的例子来说,如果a等于1,b等于2,c等于3,d等于4,那么最终会显示3+3+d这个字符串,运算只在a变量和b变量之间完成,d由于没有加花括号,仅仅是字符串,无论d是否在js中定义或者d的值是多少都不影响结果。

使用数据绑定还有很多方式,例如逻辑判断、字符串运算、数据路径运算等,也可以在双重花括号内直接进行组合,构成新的对象或者数组,更多内容同学们可以通过微信开发者文档自学。

好了,本小节的内容就是这些,如果大家有什么问题,欢迎在文末留言,我们明天继续哟~

想看视频版?

关注公号“微程序学堂”,我们的视频教程即将上线

如果你自己写了好文章想投稿

请联系我们

微信小程序云开发教程-WXML入门-数据绑定相关推荐

  1. 前端wxml取后台js变量值_微信小程序云开发教程WXML入门数据绑定

    同学们大家好,我是小伊同学,今天带领大家学习WXML部分一个重要的知识点,数据绑定. 简单来讲,数据绑定就是通过双重花括号将一个变量绑定到界面上. 首先,我们为什么要将变量绑定到页面上呢?因为在制作一 ...

  2. ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️

    一.视频版 微信小程序云开发视频教程上线啦 二.图文版 (1)预备知识 1. 怎么注册开通个人微信小程序 2. 微信小程序云开发教程-互联网软件的运作模式 3.微信小程序云开发教程-云开发对微信小程序 ...

  3. 微信小程序云开发教程-微信小程序框架的介绍

    同学们大家好,我是小伊同学,今天我们来学习微信小程序框架. 微信小程序实质上是一款基于web技术的应用程序,他和我们平常所接触到的前端网页是大同小异的.相同点在于他们使用的开发语言,代码结构以及代码的 ...

  4. 微信小程序云函数传递数组_微信小程序云开发一周入门

    作为一个程序员,一直想自己做一款程序,无奈工作以来一直做的是数据处理的工作.数据库用的挺溜,但前端就两眼一抹黑了.早在微信小程序刚出来的时候,就关注过,但考虑到前端后端的种种因素,一直没太做深入的了解 ...

  5. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  6. 微信小程序云开发教程-小程序端调用云函数

    同学们大家好,我是小伊同学,前面我们已经做好了小程序的页面,在开发好了后端的接口之后,我们就需要对前后端进行联通,而在云开发下,这部分内容就是我们今天将要一起学习的--小程序端如何调用云函数. 在微信 ...

  7. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递

    同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...

  8. 微信小程序云开发教程-手把手:获取微信订阅消息的模板ID

    本小节,我们将手把手带领大家一起实现第一个接口,获取微信订阅消息的模板ID 通过开发这个接口,我们将学会云函数的基本结构和函数返回值的格式定义. 开发接口前,我们必须先写接口文档.小程序后端的接口文档 ...

  9. 微信小程序注册开发教程(入门)

    转眼到了17年,火了那么久的小程序的小程序终于在1月9号开放了,本着凑热闹的心态,打算感受一把.下面是一些大体的流程什么的,简单记录一下,可能不是很全了,想起来再添吧. 1.打开微信公众平台 ,选择立 ...

  10. 微信小程序云开发教程-互联网软件产品开发流程和团队分工

    假设我们现在要开发的软件产品是"近义词查询"小程序. 首先我们得通过调研,明确用户需求,形成需求文档: 产品经理根据需求文档,进一步制作出产品原型,产品原型也可以称之为产品demo ...

最新文章

  1. 深入jvm虚拟机第4版_深入JVM虚拟机,阿里架构师直言,这份文档真的是JVM最深解读...
  2. 是否提交由npm 5创建的package-lock.json文件?
  3. 子主题function php,wordpress子主题怎么添加
  4. Matlab冒号操作符图解
  5. Win7安装64位CentOS 6.4双系统详细过程
  6. MyBatisPlus3.x中使用条件构造器查询某一天的记录数时的日期格式化注意
  7. python安装环境傻瓜式安装_Python环境安装(两种方式)
  8. junit动态忽略测试_有条件忽略测试的JUnit规则
  9. 天龙源码框架分析_天龙源码分析 - VariableSystem
  10. 洛谷——P3909 异或之积
  11. 单峰排列 Codeforces C. Cyclic Permutations
  12. 波士顿学院计算机科学专业,波士顿学院计算机专业好吗?_托普仕留学
  13. day_7:代理使用
  14. 读javascript高级程序设计02-变量作用域
  15. RK3126 人体感应模块驱动
  16. prim algorithm
  17. 第六篇 VGGNet——模型精讲
  18. web 折线图大数据量拉取展示方案_【第2010期】QQ音乐Android客户端Web页面通用性能优化实践...
  19. 华硕触摸板关闭后AsusTPCenter.exe占用太多cpu资源
  20. V神全面回应币安下架BSV:万字长文、4大要点 (全文)

热门文章

  1. WIN7下IIS的安装与配置
  2. UML第二次作业 类图中类的表示
  3. 遍历结构体内部元素和值(Name and Value)
  4. 使用vscode比较两个文件的差别
  5. tomcat 实现域名crm.test.com訪问
  6. Win7如何自定义鼠标右键菜单 添加新建文本文档
  7. Mybatis与hibernate
  8. myeclipse-10.7-offline-installer-windows安装图解及注意事项
  9. 成功创业者培养的四个习惯
  10. 拓端tecdat|R语言中敏感性和特异性、召回率和精确度作为选型标准的华夫图案例