大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了。效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用。
这个系列接下来的文章我们就来研究使用微信开发者工具自动生成的这个小程序的实现文件。本文以小程序的视图设计为主,就是下图所示pages/index目录里的index.wxml文件。
我的日常工作是用一个叫做UI5的前端框架做前端开发,刚好这个框架也支持创建xml格式的视图(UI), 和微信小程序的wxml非常相似。
做过JSP开发的朋友们,可以把wxml类比成JSP文件。
wxml源代码:
<!--index.wxml-->
<view class="container">
<view class="userinfo">
<button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="jerry_getUserInfo"> 获取头像昵称 </button>
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
</view>
</view>
下面逐一解释每行代码。
第二行:<view class="container"> 声明了一个视图元素,css类型为container。这个container类是微信小程序自带的,如果删除,小程序视图位置会乱掉,参考我下面的测试:
所以需要保留。
第三行: <view class="userinfo"> view元素可以嵌套,相当于原生HTML里的div元素。此处定义了另一个view元素,css类为userinfo。这个css类不是微信提供的,而是我们自己开发的,位于文件index.wxss里:
第四行:
<button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="jerry_getUserInfo"> 获取头像昵称 </button>
定义了一个按钮,标签为“获取头像昵称”。
这个按钮仅当表达式!hasUserInfo && canIUse为true时才显示。
button是微信小程序框架提供的组件,组件是视图层的基本组成单元,自带一些功能与微信风格的样式。 注意这里的button标签并不是HTML原生的标签。
在微信官网上可以查询组件的API:
https://developers.weixin.qq.com/miniprogram/dev/component/
下面这两个属性的含义:
open-type="getUserInfo": 点了这个按钮之后,会自动取当前点击了该按钮的微信用户的明细数据
bindgetuserinfo="jerry_getUserInfo": 当用户数据成功取回来之后,执行我们自己开发的回调函数jerry_getUserInfo, 该函数定义在小程序index/index.js里。
第五行到第八行:
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
定义了一个block区域,有两个UI元素组成:image和text。
对image元素,bindtap="bindViewTap", 意思是一旦点击,执行我们在index.js里实现的事件处理函数bindViewTap。
class="userinfo-avatar": userinfo-avatar也是我们在wxss里自定义的css类。
src="{{userInfo.avatarUrl}}": 该image的src属性绑定到数据模型userInfo的字段avatarUrl上。数据类型userInfo是index.js里创建的,绑定到当前的视图上。
而另一个文本元素text显示的文本绑定到userInfo.nickName上。
我们可以直接在手机上打开微信小程序的console页面,从而查看当前视图绑定的数据模型userInfo的明细,其中userInfo.nickName包含的值如下:
第11行:<text class="user-motto">{{motto}}</text>
纯文本元素,显示的文本绑定到数据模型motto上。这个模型字段motto硬编码成Hello World,所以我们最后在小程序上看到显示的“Hello World"。
这篇文章即整个微信小程序开发系列的第二篇到此结束。下一篇文章我会继续讲解index.js里的代码含义。
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
微信小程序学习demo:视图控件View、ScrollView、Swiper(源代码+截图)微信小程序学习demo:视图控件View、ScrollView、Swiper(源代码+截图)微信小程序学习demo:视图控件View、ScrollView、Swiper(源代码+截图)微信...
小程序基于JavaScript、WXML(微信小程序标记语言)和WXSS(微信小程序样式语言)进行开发,可以调用微信提供的API实现丰富的功能。 二、点餐系统需求分析 点餐系统需具备以下功能: 1. 菜单展示:展示餐厅菜品,...
微信小程序开发附源码:tp5 实现微信小程序多图片上传到服务器功能 微信小程序开发中,实现多图片上传到服务器功能是一个常见的需求。_tp5框架可以满足这种需求,本文将对微信小程序的多图片上传到服务器功能进行...
【Python 开发者的微信小程序开发实践】 在当前的互联网应用领域,微信小程序因其轻量级、便捷的特性,已经成为开发者和用户关注的焦点。对于熟悉Python的开发者来说,虽然微信小程序主要采用JavaScript作为开发...
在微信小程序中,数据绑定是通过双大括号 `{{ }}` 来实现的,将数据绑定到视图。状态管理则通过 `Page` 对象的 `data` 属性进行,当 `data` 的值发生变化时,页面会自动更新。例如,`username` 和 `avatarUrl` 在 `...
微信小程序电影小程序源码是一个适合用于毕业设计、期末大作业或课程设计的项目,它涵盖了微信小程序开发的基础知识和电影信息展示的相关技术。这个压缩包包含的文件名为“电影小程序”,意味着里面可能包括了实现一...
微信小程序内置了一系列组件,如视图容器(view、scroll-view)、基础内容(text、image)、表单组件(input、picker)、导航(navigator)、媒体组件(audio、video)等,这些组件可以组合成复杂的页面结构。...
二、微信小程序开发环境 首先,你需要安装微信开发者工具,这是一个集成的开发环境,包括代码编辑、预览、调试等功能。通过这个工具,你可以实时查看小程序的运行效果,并进行代码调试。同时,开发者工具还提供了API...
此外,微信小程序还支持组件化开发,常见的组件包括视图容器(view、scroll-view等)、基础内容(text、image等)、表单组件(input、button等)以及导航、媒体和画布等复杂组件。开发者可以通过组合这些组件来构建...
1. **WXML(WeiXin Markup Language)**:这是微信小程序的视图层语言,类似于HTML,但专为微信小程序设计。WXML负责布局和展示数据。 2. **WXSS(WeiXin Style Sheets)**:类似于CSS,用于定义小程序中WXML元素的...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。"豆瓣电影"微信小程序是利用这一平台开发的一个示例应用,它允许用户在微信内浏览和获取...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。本教程“微信小程序开发项目教程(慕课版)”将带你深入学习如何利用微信小程序开发框架...
本《微信小程序开发手册(完整版).CHM》是专为初学者和进阶开发者设计的指导性资料,涵盖了从入门到精通的全过程。 该手册首先会介绍微信小程序的开发环境搭建,包括安装微信开发者工具,设置项目,理解小程序的...
3. **API与组件**:微信小程序提供了丰富的API接口,包括网络请求、本地存储、设备访问、位置服务等,同时也预设了多种UI组件,如视图容器、基础内容、表单组件、媒体组件和导航组件,这些都极大地简化了开发流程。...
1. **小程序开发平台.url**:这是一个快捷方式,指向微信官方的小程序开发工具,这个工具提供了编辑器、预览、发布等一系列功能,是开发微信小程序的必备工具。 2. **WeAppDemo-master**:这很可能是微信小程序的...
本资源“100个微信小程序实例”包含了一系列真实的微信小程序项目,是学习和掌握微信小程序开发的宝贵资料。 这些实例覆盖了各种应用场景,包括但不限于电商、社交、生活服务、工具、游戏等类别。通过学习这些实例...
《微信小程序开发实战(第一版)》是一本专注于微信小程序开发的专业书籍,旨在为移动应用开发者和产品架构师提供全面而深入的指导。微信小程序,作为腾讯公司在移动互联网领域推出的一种轻量级应用开发平台,它允许...
微信小程序是一种轻量级的应用开发框架,由腾讯公司推出,主要应用于移动端,为用户提供便捷的服务体验。本项目是一个关于微信小程序的学习示例,专注于“相册”功能的实现,包括了本地图片的上传以及生成列表展示。...
《微信小程序开发图解案例教程》是一本专为学习微信小程序开发而编写的图书,它以实例驱动的方式,深入浅出地介绍了微信小程序的开发技术和实践应用。微信小程序,作为腾讯公司推出的一种轻量级应用开发平台,已经...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它的出现使得开发者能够构建无需下载安装即可使用的应用,极大地提升了用户的使用体验。在这个“微信小程序-功能示例:番茄时钟.zip”...