微信小程序(二)-语法学习
语法学习
一 模板语法
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/
1.数据代码
// pages/block/block.js 本幢事宜
Page({
/*页面的初始数据*/
data: {
msg:"本幢事宜",
num:10000,
isGirl:false,
person:{
name:"小明",
age:18,
height:168
},
list:[
{
id:0,
name:"小明"
},
{
id:1,
name:"小强"
}
]
}
})
block.js
2.模版代码
<!--pages/block/block.wxml-->
<!-- 1.字符串显示 -->
<view>msg:{{msg}}</view>
<!-- 2.数定类型 -->
<view>num:{{num}}</view>
<!-- 3.布尔值 -->
<view>isGirl:{{isGirl}}</view>
<!-- 4.对象 -->
<view>person:{{person}}</view>
<view>age:{{person.age}}</view>
<!-- 5.在标签的属性中使用,控制台Wxml中查看 -->
<view data-num="{{num}}">自定义属性使用</view>
<!-- 6.使用bool类型充当属性 checked -->
<view>
<!-- 未选中 -->
<view><checkbox >默认未选中</checkbox></view>
<!-- 选中 -->
<view><checkbox checked>默认选中</checkbox></view>
<!-- 改变属性,未选中, 属性写法中不能用空格-->
<view><checkbox checked="{{isGirl}}">改变属性</checkbox></view>
</view>
<view>-------------------------</view>
<!-- 7.运算 ==> 表达示/语句
1.可以在花括号中加入表达式
2.指的是简单的运算(数字运算/字符串拼接/逻辑运算等),
1.数字的加减
2.字符串的拼接
3.三元表达式
3.语句,代码段
1.if else
2.switch
3.do while
4.for
-->
<view>{{1+2}}</view>
<view>{{"1"+"2"}}</view>
<view>-------------------------</view>
<!-- 8.列表循环
1.wx:for="{{数组}}" wx:for-item="循环项的名称" wx:for-index="循环项的索引"
2.wx:key="唯一值",用来提同渲染性能
1.wx:key 绑定一个普通字符串的时候,这个字符串是循环数组中不重复的对象
2.wx:key="*this" 表示是一个普通数组 *this表是是循环项
3.只有一层循环时可以不用写(wx:for-item="item" wx:for-index="index")这两项
-->
<view>列表循环</view>
<view wx:for="{{list}}"
wx:for-item="item"
wx:for-index="index"
wx:key="id">
索引:{{index+1}}--姓名:{{item.name}}
</view>
<view>-------------------------</view>
<!-- 只有一层循环时可以不用写(wx:for-item="item" wx:for-index="index")这两项-->
<view wx:for="{{list}}"
wx:key="id">
索引:{{index+1}}--姓名:{{item.name}}
</view>
<view>-------------------------</view>
<!-- 9.对象循环
1.wx:for="{{对象}}" wx:for-item="对象的值value" wx:for-index="对象的属性key"
-->
<view>对象循环</view>
<view wx:for="{{person}}" wx:for-item="value" wx:for-index="key" wx:key="name">
{{key}}:{{value}}
</view>
<!-- 10.block占位标签写代码时有,渲染时就没有了 -->
<!-- 11.条件渲染 if, else, if else
1.wx:if="{{true/false}}"
wx:elif="{{true/false}}"
wx:else
2.hidden:true隐藏/false为显示
3.使用场景
1.当标签不频繁切换显示优先使用(直接把标签从结构中移除) wx:if
2.当标签频繁切换显示优先使用 hidden
1.通过样式切换显示,display: none;
2.hidden属性不能与样式display一起使用,否则会被覆盖,hidden就不起作用了
-->
<view>-------------------------</view>
<view>条件渲染</view>
<view wx:if="{{true}}">true显示</view>
<view wx:if="{{false}}">false不显示</view>
<view>-------------------------</view>
<view wx:if="{{false}}">false不显示</view>
<view wx:elif="{{false}}">false不显示</view>
<view wx:else>else显示</view>
<view>-------------------------</view>
<view hidden="{{false}}">hidden为true隐藏/false为显示</view>
<view hidden>hidden为true隐藏/false为显示</view>
block.wxml
微信小程序(三)-事件绑定
微信小程序(二)-语法学习的更多相关文章
- 微信小程序开发:学习笔记[2]——WXML模板
微信小程序开发:学习笔记[2]——WXML模板 快速开始 介绍 WXML 全称是 WeiXin Markup Language,是小程序框架设计的一套标签语言,结合小程序的基础组件.事件系统,可以构建 ...
- 图片的URL上传至阿里云OSS操作(微信小程序二维码返回的二进制上传到OSS)
当我们从网络中获取一个URL的图片我们要存储到本地或者是私有的云时,我们可以这样操作 把url中的图片文件下载到本地(或者上传到私有云中) public String uploadUrlToOss ...
- 微信小程序开发:学习笔记[7]——理解小程序的宿主环境
微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器
- 微信小程序开发:学习笔记[5]——JavaScript脚本
微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...
- 微信小程序开发:学习笔记[4]——样式布局
微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...
- 微信小程序开发:学习笔记[3]——WXSS样式
微信小程序开发:学习笔记[3]——WXSS样式 快速开始 介绍 WXSS(WeiXin Style Sheets)是一套用于小程序的样式语言,用于描述WXML的组件样式,也就是视觉上的效果. WXSS ...
- 微信小程序开发:学习笔记[1]——Hello World
微信小程序开发:学习笔记[1]——Hello World 快速开始 1.前往微信公众平台下载微信开发者工具. 地址:https://mp.weixin.qq.com/debug/wxadoc/dev/ ...
- 微信小程序开发:学习笔记[9]——本地数据缓存
微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
随机推荐
- 深信服上网行为管理配置跨三层MAC识别
1.在认证高级选项里点击新增 如果PC的IP和MAC存在于多个三层交换机,则需新增多个. 点击上图"查看服务器信息"测试能否从交换机获取PC的IP和MAC,有返回结果则能正常获取, ...
- Mybatis学习笔记1
mybatis是一个orm持久化框架,mybatis专注于sql的操作从3.0开始名字改变了:ibatis-mybatis 对象关系映射(Object Relational Mapping) 一.My ...
- Codeforces Round #585 (Div. 2) E. Marbles(状压dp)
题意:给你一个长度为n的序列 问你需要多少次两两交换 可以让相同的数字在一个区间段 思路:我们可以预处理一个数组cnt[i][j]表示把i放到j前面需要交换多少次 然后二进制枚举后 每次选择一个为1的 ...
- AtCoder Beginner Contest 177
比赛链接:https://atcoder.jp/contests/abc177/tasks A - Don't be late #include <bits/stdc++.h> using ...
- P2764 最小路径覆盖问题 (最小点覆盖=顶点数-最大匹配)
题意:最小路径覆盖 题解:对于一个有向图,最小点覆盖 = 顶点数 - 最大匹配 这里的最大匹配指的是将原图中每一个点拆成入点.出点, 每条边连接起点的出点和终点的入点 源点S连接每个点的出点,汇点T连 ...
- CF1313C2 Skyscrapers (hard version)
思路: 使用单调栈. 实现: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 con ...
- P1073 最优贸易(最短路)
题目描述 CC C国有n n n个大城市和m mm 条道路,每条道路连接这 nnn个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 mmm 条道路中有一部分为单向通行的道路,一部分为 ...
- poj2778 DNA Sequence(AC自动机+矩阵快速幂)
Description It's well known that DNA Sequence is a sequence only contains A, C, T and G, and it's ve ...
- 20162017-acmicpc-south-pacific-regional-contest-sppc-16 B.Ballon Warehouse
题意:给你一个无限长且元素均为\(0\)的排列,每次给你一对\((x,y)\),表示在所有\(x\)的后面插入一个元素\(y\),最后给你一个区间\((l,r)\),输出\([l,r-1]\)中的所有 ...
- 洛谷 P2880 [USACO07JAN]Balanced Lineup G (ST表模板)
题意:给你一组数,询问\(q\)次,问所给区间内的最大值和最小值的差. 题解:经典RMQ问题,用st表维护两个数组分别记录最大值和最小值然后直接查询输出就好了 代码: int n,q; int a[N ...