EA&UML日拱一卒-0基础学习微信小程序(8)-事件处理和数据绑定
2018-01-08 21:47
831 查看
文章的内容也好,关注数也好,似乎又到了爬坡阶段。你还在坚持阅读和转发么?
吃过烧烤之后,继续Helloworld进行说明,今天的内容是wxml文件。
WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。它的语法和XML保持一致。
主画面
主画面的内容由index.wxml定义。其内容如下:
<!--index.wxml-->
<view class="container">
<view bindtap="bindViewTap" class="userinfo">
<image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
</view>
</view>
我们稍微细致一点说明一下index.wxml的内容。让C/C++程序员也能看懂。
注释
<!--index.wxml-->是注释行,在XML中注释行的格式是<!-- 注释内容 -->。
最外层容器
接 下来第二行<view class="container">到最后一个</view>构成最外层容器。这个容器的class被定义 为"container",这个"container"是在上一篇文章中讲到的app.wxss中定义的。通过这种方式将wxml和wxss联系起来。
接下来的层次中有定义了两个容器,对应的是用户信息和“HelloWorld”信息。
用户信息容器
对应用户信息的容器的class被定义为“userinfo”,它在index.wxss中被定义。
这里增加了一个bindtap关键字,被指定为"bindViewTap”。它的含义是当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数bindViewTap。
用 户信息容器中又包含了image对象和text对象。它们同样使用class关键字指定了显示属性,我们就不在一一说明了。我们要说明的是数据绑定,数据 绑定使用 Mustache 语法(双大括号)将变量包起来,数据绑定的效果就相当于在页面描述中埋入变量。可以认为,程序实际执行时这些变量会被实际的值(或Image)替换。这些 值的提供者为.js文件,我们下一篇文章说明。具体来说,image对象绑定的是userInfo.avatarUrl,text对象绑定的是 userInfo.nickName。
问候语
包含一个简单的text对象,绑定的是motto。
log表示页面
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log" wx:key="*this">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
这段代码中view相关的内容上面已经讲过了,这里只说明block。在这个例子中,block定义容器中的一个表示区域,这个区域使用数组的内容进行填充:
使用
使用
使用
参考文档
事件
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html
数据绑定
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/data.html
列表渲染
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/list.html
写在文章的最后
既然已经读到这里了,拜托大家再用一分钟时间,将文章转发到各位的朋友圈,微信群中。本公众号的成长需要您的支持!
阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】
吃过烧烤之后,继续Helloworld进行说明,今天的内容是wxml文件。
WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。它的语法和XML保持一致。
主画面
主画面的内容由index.wxml定义。其内容如下:
<!--index.wxml-->
<view class="container">
<view bindtap="bindViewTap" class="userinfo">
<image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
</view>
</view>
我们稍微细致一点说明一下index.wxml的内容。让C/C++程序员也能看懂。
注释
<!--index.wxml-->是注释行,在XML中注释行的格式是<!-- 注释内容 -->。
最外层容器
接 下来第二行<view class="container">到最后一个</view>构成最外层容器。这个容器的class被定义 为"container",这个"container"是在上一篇文章中讲到的app.wxss中定义的。通过这种方式将wxml和wxss联系起来。
接下来的层次中有定义了两个容器,对应的是用户信息和“HelloWorld”信息。
用户信息容器
对应用户信息的容器的class被定义为“userinfo”,它在index.wxss中被定义。
这里增加了一个bindtap关键字,被指定为"bindViewTap”。它的含义是当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数bindViewTap。
用 户信息容器中又包含了image对象和text对象。它们同样使用class关键字指定了显示属性,我们就不在一一说明了。我们要说明的是数据绑定,数据 绑定使用 Mustache 语法(双大括号)将变量包起来,数据绑定的效果就相当于在页面描述中埋入变量。可以认为,程序实际执行时这些变量会被实际的值(或Image)替换。这些 值的提供者为.js文件,我们下一篇文章说明。具体来说,image对象绑定的是userInfo.avatarUrl,text对象绑定的是 userInfo.nickName。
问候语
包含一个简单的text对象,绑定的是motto。
log表示页面
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log" wx:key="*this">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
这段代码中view相关的内容上面已经讲过了,这里只说明block。在这个例子中,block定义容器中的一个表示区域,这个区域使用数组的内容进行填充:
使用
wx:for控制属性指定被绑定的数组为logs
使用
wx:for-item指定从数组中取出的元素的变量名为log
使用
wx:key指定log和数组元素的关系,本例中的设定值为"*this",表示log就是数组元素本身;如果数组元素包含多个属性,可以指定属性名来选择具体的属性。
参考文档
事件
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html
数据绑定
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/data.html
列表渲染
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/list.html
写在文章的最后
既然已经读到这里了,拜托大家再用一分钟时间,将文章转发到各位的朋友圈,微信群中。本公众号的成长需要您的支持!
阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】
相关文章推荐
- EA&UML日拱一卒-0基础学习微信小程序(7)-WXSS和CSS
- EA&UML日拱一卒-0基础学习微信小程序(9)-C++程序员眼中的app.js
- EA&UML日拱一卒-0基础学习微信小程序(11)-ECMAScript3数组操作方法
- EA&UML日拱一卒-0基础学习微信小程序(13)-一个都不能少
- EA&UML日拱一卒-0基础学习微信小程序(10)-注册页面
- EA&UML日拱一卒-0基础学习微信小程序(14)-最简单的指南针
- EA&UML日拱一卒-0基础学习微信小程序(4)- 安装开发工具
- EA&UML日拱一卒-0基础学习微信小程序(1)- 开篇
- EA&UML日拱一卒-0基础学习微信小程序(3)- 创建自己的小程序账号
- EA&UML日拱一卒-0基础学习微信小程序(6)- 配置文件的形式和内容
- EA&UML日拱一卒-0基础学习微信小程序(17)-学到什么程度算行?
- EA&UML日拱一卒-0基础学习微信小程序(5)- Hello world!
- EA&UML日拱一卒-0基础学习微信小程序(15)-弄得像真的一样
- EA&UML日拱一卒-0基础学习微信小程序(16)-使用移动平均消除抖动
- EA&UML日拱一卒-0基础学习微信小程序(12)-ECMAScript5数组操作方法
- EA&UML日拱一卒-0基础学习微信小程序(2)- 关于小程序
- EA&UML日拱一卒-微信小程序实战:位置闹铃 (7)-在画面之间共享数据
- 微信小程序 动态绑定数据及动态事件处理
- EA&UML日拱一卒-微信小程序实战:位置闹铃 (1)-功能介绍
- 一步步学习微软InfoPath2010和SP2010--第三章节--表单设计基础:处理InfoPath布局、控件和视图(5)--理解数据绑定的基础