数据绑定:

在页面中插入字符串,数字,bool,object类型的数据:
此时如果直接在wxml的view标签里写入是不管用的。需要在js文件里写入数据的属性。

wxml文件:

<!--pages/demo03/demo03.wxml-->
<view>字符串:{{message}}</view>
<view>数字:{{num}}</view>
<view>布尔值:{{isRight}}</view>
<view>对象:{{Student.name}}</view>
<view>{{Student.ID}}</view>

js文件:

// pages/demo03/demo03.js
Page({/*** 页面的初始数据*/data: {message:"Hello World",num:20,isRight:true,Student:{name:"咸鱼4号",ID:2012121,},isChecked:false}
})


数据在标签的属性中使用:

<view data-num="{{num}}">自定义属性</view>
<view><checkbox checked="{{isChecked}}"></checkbox>
</view>


同时应该注意的是在代码:

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

在双引号和花括号之间是不能加上空格的
错误写法:

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

此时会使复选框的出现选中的状态。

运算:

在wxml里的花括号里可以进行一些运算,例如:数字的加减乘除,字符串的拼接,一些逻辑运算等。

<!--数字运算-->
<view>{{1+1}}</view>
<!--字符串拼接-->
<view>{{'1'+'1'}}</view>
<!--三元运算-->
<view>{{1>2?'false':'true'}}</view>
<!--逻辑判断-->
<view wx:if="{{3>5}}">1</view>
<view wx:else>2</view>


注意点:和以上是一样的双引号和花括号之间是不能有空格的,不然会被解析成字符串

列表渲染:

1、列表循环:wx-for
语法:
wx:for="{{数组或者对象}}"
wx:for-item=“循环项的名称”
wx:for-index=“循环项的索引”
wx:key=“唯一的值”
项的名称默认为:item;wx:for-item可以指定数组当前元素的变量名
下标变量名默认为:index;wx:for-index可以指定数组当前下标的变量名
wx:key:用来提高数组的渲染的性能,可以保证每一个项的唯一性。绑定的值可以是string类型,也可以是*this类型。若为string类型,那么就表示循环项中的唯一属性;如果是保留字“*this”,它的意思就是item本身即循环项,*this代表的必须是唯一的字符串和数组。例如:[1,2,3],[‘1’,‘2’,‘3’]。

list:[{name:"张三",ID:20121},{name:"李四",ID:20122},{name:"王五",ID:20123}]
<view><view wx:for="{{list}}"wx:for-item="item"wx:for-index="index"wx:key="ID">索引:{{index}};姓名:{{item.name}}   学号:{{item.ID}}</view>
</view>
<view><view wx:for="{{Student}}"wx:for-item="value"wx:for-index="key"wx:key="ID">属性:{{key}} 值:{{value}}</view>
</view>


注意点:
(1)在数组出现嵌套循环的时候,应该要注意绑定的名称不要重名:
wx:for-item=“item”   wx:for-index=“index”
(2)一般情况下,不写:
wx:for-item=“item”   wx:for-index=“index”

补充:循环数组:
语法:[ ].forEach
该方法可以遍历数组,遍历数组的时候如果修改了元素的值,也会导致原数组被修改
例:

 tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);

循环tabs,判断i是否等于index的时候,通过判断的结果对该项的isActive进行修改

条件渲染:

可以使用wx:if=“{{istrue}}”来判断是否需要对代码块进行渲染

<view><view wx:if="{{3>5}}">1</view><view wx:elif="{{3==5}}">2</view><view wx:else>3</view>
</view>

hidden:
类似于wx:if
以下的两种方式都是适用的:

<view ><view hidden>h1</view><view hidden="{{true}}">h2</view>
</view>

在标签不是频繁的切换的时候,使用wx:if。因为它是直接把标签从页面结构上给移除掉的。
在标签频繁的切换显示的时候,优先使用hidden。因为它是通过添加样式的方式来切换显示的。(display:none)因为hidden属性是和display属性相关的,所以在使用hidden属性的时候,不能添加display属性
举个例子:

<view hidden style="display:flex">hidden</view>

在这里虽然写了hidden,但是还是会在页面中出现hidden的字段。这是因为display:flex覆盖了hidden的属性:display:none。所以才会出现字。

文章内容为视频零基础玩转微信小程序【黑马程序员】知识点整合

零基础学习微信小程序(4):模板语法相关推荐

  1. 零基础学习微信小程序(7):组件

    view标签 text标签相当于html里的span标签,是行内元素,写入时,不会进行换行 text标签 view标签相当于html里的div标签,是块级元素,写入时,会导致换行 text标签只能嵌套 ...

  2. 零基础学习微信小程序,个人整理的笔记,都是精华

    什么是微信开发 微信对外开放了很对接口和能力,程序员基于这些功能进行的二次开发,叫做微信开发 微信开放平台 微信开放平台是微信对外提供微信开放接口的一个平台,这些开放出来的微信接口,供第三方的网站或A ...

  3. 0基础学习微信小程序(转载)

    原文地址:https://blog.csdn.net/qq_41464123/article/details/105198163 前言 微信小程序作为近几年"微服务"的杰出代表,应 ...

  4. 一、零基础入门微信小程序开发之创建项目工程同时完成引导页开发

    前言 创建这个系列博客的原因是因为最近在加深微信小程序的学习,按照我之前的学习习惯是不喜欢记录的,加上自己有拖延症就更不太愿意做这件事情了,同时我要给学生上课,但总是缺少教材所以就开了这个系列的博客, ...

  5. 一、从项目零基础入门微信小程序之项目搭建欢迎页面实现

    前言 本项目以JavaScript语言进行开发未涉及到TS内容本项目较为基础,仅供学习与交流,不涉及任何商业内容,首先需要电脑安装微信小程序开发工具,这里就不在阐述具体安装步骤如果不会可以移步百度搜索 ...

  6. python微信小程序实例制作入门_python flask零基础打造微信小程序实战教程

    资源目录: ├─python3+flask │ ├─第1章 介绍 │ └─1-1 导学--Python Flask 构建微信小程序.mp4 │ ├─第2章 微信小程序介绍 │ ├─2-1 小程序是什么 ...

  7. 二、零基础入门微信小程序项目开发之页面跳转实现

    前言 哈喽,大家好,我是明哥上一篇博客我们讲完了项目的引导页面的开发,这篇博文我们来讲讲如何从引导页页面跳转到我们的新闻预览页面,这是我们就要引入微信小程序的路由 ,什么是路由相信有前端开发经验的小伙 ...

  8. 从零基础学微信小程序 一(有超级详细的注释-签到打卡项目)

    对于新手小白来说,微信小程序是相较于其他中大型项目是非常好入门的,只要你花时间在微信小程序开发上,加上我教你的一些技巧,基本上独立开放一个小项目还是绰绰有余的. 第一步 下载微信小程序(直接从官网下载 ...

  9. 零基础入门微信小程序,真真真·零基础,一个完全的小白写出来的才适合小白入门,踩坑日记

    进入微信小程序官网选择适合自己的平台及工具,这里我选择开发版 工具下载完成,安装 以下就是初始界面了 点击+号新建一个项目 选择不适用模板,然后填写小程序工程名,路径,ID(可先不填写) 创建即可 小 ...

最新文章

  1. xunsearch 迅搜初探
  2. python爬取百度百科表格_第一个python爬虫(python3爬取百度百科1000个页面)
  3. 根据测试路径自动生成测试用例_自拍教程75Python 根据测试用例选择测试资源
  4. 生效linux内核,Linux内核
  5. form字体和颜色java安卓开发_Android 修改App中默认TextView的字体和颜色
  6. python shelve模块
  7. 数字电子技术课程设计之基于触发器的三位二进制同步减法计数器无效态000/110
  8. bazel 链接_bazel-链接第三方动态库,静态库。
  9. 公链项目 Taraxa 已开启公募 KYC,投资者可在 3 月 12 日申购
  10. 滴滴怒怼美团;阿里麻吉宝刷屏;B站、爱奇艺上市 | CSDN 极客头条
  11. Pycharm安装与汉化教程
  12. 计算机控制系统的数字量输出通道由,计算机控制-习题
  13. JS,等额本息,等额本金计算器
  14. 菜鸟海外仓智慧供应链系统“货运参谋”上线,全球跨境仓库100+覆盖30国
  15. 旷视科技2022提前批校园招聘已经开启啦!
  16. 锂电池充电的同时也能放电吗?
  17. 带宽和网速之间的关系
  18. 2021高考成绩内蒙查询,2021内蒙古高考成绩查询入口
  19. 2015年看的52部电影计划
  20. 用HTML+CSS做一个漂亮简单的旅游网站——旅游网页设计与实现(6页)HTML+CSS+JavaScript

热门文章

  1. 2019-09-10 ~ 2022-01-12 第二段xx科技公司 工作生活总结
  2. 个人感兴趣游戏本信息汇总_2018年4月
  3. sqlite联表查询
  4. HTML轴线怎么设置,cad怎么设置轴线
  5. [数据结构] python 栈的介绍
  6. 2台iTouch无法收到注册远程推送回调,其他机器可以
  7. python中for循环画折线_for循环带你了解不同类型的折线图
  8. uniapp vue获取dom元素位置和高度信息
  9. python2字典遍历方法性能对比
  10. QT TabWidget设置选项卡