在小程序中,WXML充当的就是类似HTML的角色。标签名字与HTML有点不同,小程序WXML用的标签是view,button,text等等,这些标签就是小程序给开发者包装好的基本能力,还提供了地图、视频、音频等等组件能力。小程序能力
多了一些wx:if这样的属性以及{{}}这样的表达式在网页的一般开发流程中, MVVM的开发模式,提倡把渲染和逻辑分离。简单来说就是不要再让JS直接操控DOM,JS只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。WXML这样写:
<text></text>
JS只需要管理状态即可:
this.setData({msg:"Hello World"})
通过{{}}的语法把一个变量绑定到界面上,我们称为数据绑定。仅仅通过数据绑定还不够完整描述状态和界面的关系,还需要if/else,for等控制能力,在小程序里边,这些控制能力都用wx:开头的属性来表达。详细参考WXML
WXSS样式
WXSS具有CSS大部分的特性,小程序在WXSS也做了一些扩充和修改。新增了尺寸单位,开发者需要考虑到手机设备的屏幕会有不同的宽度和设备像素比,采用一些技巧来换算一些像素单位。WXSS在底层支持新的尺寸单位rpx。提供了全局的样式和局部样式。和前边的app.json,page.json的感念相同,可以写一个app.wxss作为全局样式,会作用于当前小程序的所有页面,局部页面样式page.wxss仅对当前页面生效。且wxss仅支持部分css选择器。详细
JS交互逻辑
<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>
点击button按钮的时候,将msg显示成"Hello World",于是在button上声明一个属性:bindtap,在JS文件里边生命了clickMe方法来相应这次点击操作:
Page({
clickMe: function() {
this.setData({ msg: "Hello World" })
}
})
WXML-事件此外在js中调用小程序提供的丰富的API,利用这些API可以很方便的调起微信提供的能力,例如获取用户信息、本地存储、微信支付等。
小程序的API