Waft基于核心的响应式的数据绑定模块,来实现逻辑层修改数据,就能驱动视图层的更新的效果。
XML示例
<div>
<div>{{title}}</div>
<div onTap="tapMe">示例按钮</div>
</div>
逻辑脚本:
export class Index extends Page {
constructor(props: Props) {
super(props);
}
tapMe(e: Event): void{
this.setState(JSON.parseObject(`{"title":"Hello Waft"}`));
}
onLoad(query: JSONObject): void{
console.log('onload')
}
}
如上所示,只要点击示例按钮,就会触发执行tapMe
的函数回调,从而进行title
字段的状态更新,视图因此会根据状态更新内容。
样式示例
Waft支持了主流的css样式,以及web规范的css写法,布局的单位为rpx,示例如下:
.title-div{
width: 30rpx;
height: 10rpx;
background-color: red;
}
.title-text{
font-size: 20rpx;
color: #FFFFFF;
}
目前对rules规则如@media,css变量等能力暂未支持,具体可以参考ACSS规范:https://www.yuque.com/waft/docs/taglw5
布局基准:
默认框架的布局基准为1024px(指的是布局设计的全屏宽度像素)。
具体如何设置自己应用的布局基准可以参考viewport文档。