微信小程序学习——框架视图层(view)
视图层是有WXML与WXSS编写的,由组件来进行展示。
WXML(WeiXin Markup Language)用于写页面结构的。
WXSS(WeiXin Style Sheet)用于页面的样式。
组件(Component)是视图的基本组成单元。
一、数据绑定
组件属性(需要在引号之内)
<view id="item-{{id}}"></view>
page({
data: {
id: 0
}
})
控制属性
<view wx:if="{{condition}}"></view>
page({
data: {
condition: true
}
})
二、列表渲染
wx:for
<view wx:for="{{array}}">
{{index}}: {{item.message}}
</view>
page({
data: {
array: [
{message: 'foo'},
{message: 'bar'}
]
}
})
使用 wx:for-item 可以指定数组当前元素的变量名。
使用 wx:for-index 可以指定数组当前下标的变量名。
<view wx:for="{{array}}" wx:for-index="id" wx:for-item='arr'>
{{id}}: {{arr.message}}
</view>
三、条件渲染 wx:if
wx:if...wx:elif...wx:else
<view wx:if="length > 5">1</view>
<view wx:elif="length > 2">2</view>
<view wx:else>3</view>
四、模板
<template name="msgItem">
<view>
<text> {{index}}: {{msg}}</text>
<text> Time: {{time}} </text>
</view>
</template> <template is="msgItem" data="{{...item}}">
Page({
data: {
item: {
index: 0,
msg: 'this is a template',
time: '2016-09-15'
}
}
})
四、事件
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
page({
tapName: function(e) {
console.log(e)
}
})
事件分类:冒泡事件和非冒泡事件
1、冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
2、非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
冒泡事件列表
| 类型 | 触发条件 |
| touchstart | 手指触摸动作开始 |
| touchmove | 手指触摸后移动 |
| touchcancel | 手指触摸动作被打断,如来电提醒,弹窗 |
| touchend | 手指触摸动作结束 |
| tap | 手指触摸后马上离开 |
| longtap | 手指触摸后,超过350ms再离开 |
注:除表上之外的其他组件自定义事件都是非冒泡事件。
事件绑定:
bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止事件冒泡向上冒泡。
微信小程序学习——框架视图层(view)的更多相关文章
- 微信小程序笔记<七>视图层 —— wxml
微信小程序的视图层由 *.wxml 组成,wxml与html一样属于标签语言,但wxml与html的标签截然不一样. xwml特性 一.数据绑定 <!--wxml--> <view& ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 微信小程序学习笔记二 数据绑定 + 事件绑定
微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...
- 微信小程序把玩(八)view组件
原文:微信小程序把玩(八)view组件 刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-di ...
- 微信小程序 学习资料
微信小程序 学习资料 资料名称 网址 官方教程 https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18110517
- 微信小程序之可滚动视图 scroll-view 的使用注意
微信小程序之可滚动视图 scroll-view 使用注意: 1.scroll-view 中的需要滑动的元素不可以用 float 浮动: 2.scroll-view 中的包裹需要滑动的元素的大盒子用 d ...
- 微信小程序 wafer2框架摘要
微信小程序 wafer2框架摘要 帮助文档:https://github.com/tencentyun/wafer2-startup/wiki 使用了knex.js进行数据库交互,使用了koa.js进 ...
- 【微信小程序学习笔记】入门与了解
[微信小程序学习笔记(一)] IDE 下载安装 下载地址 官方工具:https://mp.weixin.qq.com/debug/w … tml?t=1476434678461 下载可执行文件后,可按 ...
- 微信小程序学习笔记一 小程序介绍 & 前置知识
微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...
随机推荐
- SNF快速开发平台MVC-富文本控件集成了百度开源项目editor
一.效果如下: 二.在框架当中调用代码如下: 1.在js里配置如下: <script type="text/javascript"> var viewModel =fu ...
- 关于MYSQL ERROR1045 报错的解决办法
**问题描述 **ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)或者ERROR ...
- Xbox One手柄 + Xbox Wireless Adapter PC无线适配器驱动安装、配对全流程
以下步骤在Windows 7系统中操作.XBox One手柄+无线适配器并非仅只能在Windows 10中使用. 一点感想:微软的XBoxOne手柄实在是好东西,但产品使用说明与文档实在太垃圾,翻遍官 ...
- ESXi创建磁盘命令
[root@esx421 SAN]# vmkfstools -d thick -a lsilogic -c 10G lun00.vmdk Incorrect disk option "thi ...
- npm错误:Error: listen EADDRNOTAVAIL
错误 Error: listen EADDRNOTAVAIL 127.0.0.1:8080 有两种情况 8080端口被绑定了 地址错误 Error: getaddrinfo ENOTFOUND 域名错 ...
- 【emWin】例程十一:GIF图像显示
介绍: 本例程介绍gif格式图像显示的方法以及在GMT70,iCore3_ADP,7寸液晶模块.4.3寸液晶模块, VGA模块上的移植. 实验指导书及代码包下载: 链接:http://pan.baid ...
- JS封装动画框架,网易轮播图,旋转轮播图
JS封装动画框架,网易轮播图,旋转轮播图 1. JS封装运动框架 // 多个属性运动框架 添加回调函数 function animate(obj,json,fn) { clearInterval(ob ...
- 【Linux】防火墙与CentOS中的iptables
[iptables] 参考好文:http://www.zsythink.net/archives/1199.这个博客的作者写了深入浅出的iptables介绍,基本上我就是做个他的读书笔记. ■ 基本介 ...
- js 异步请求
<p id="check"> <label>验证码:</label> <input class="vid" id=&q ...
- docker中,将容器中的文件拷贝到宿主机上
需求说明: 今天在做docker修改配置文件的问题,一个容器要使用另外容器的一个配置文件,但是在宿主机上没有, 就考虑将容器中的文件拷贝到宿主机上,在此记录下操作过程. 操作过程: 1.通过docke ...