Page class是当前页面的构建函数,会在该页面实例化时调用。
    开发者需要通过继承Page 来开发一个自己的页面逻辑类。
    Page包括了一个页面的构建、生命周期、state设置方法等。

    xml:

    1. <div class="warpper">
    2. <image class="img" src="https://gw.alicdn.com/imgextra/i4/O1CN01KoLIjy1xrDXBCZMUK_!!6000000006496-2-tps-424-424.png"/>
    3. <div class="bottom">
    4. <div class="button" onTap="minus">-</div>
    5. <div class="text">
    6. <text class="hello-font">HELLO WORLD ... {{percent ? percent : ""}}</text>
    7. <x-text a:if="{{desc}}" value="{{desc}}"/>
    8. </div>
    9. <div class="button" onTap="plus">+</div>
    10. </div>
    11. </div>

    ts:

    import { JSON, JSONObject } from "waft-json";
    import { console, getDataSource, Page, Props, Event, MessageEvent, setTimeout,window } from "waft";
    export class Index extends Page {
      constructor(props: Props){
        super(props);
        // 获取query
        const query = this.query;
        // 获取dataSource
        const dataSource = this.dataSource;
        // 设置到state的示例
        this.setState(dataSource);
      }
    
      onPlus(e: Event): void{
        const percent = this.state.getInteger("percent");
        this.setState(JSON.parseObject(`{"percent": ${(percent + 1).toString()}}`));
      }
    
      onMinus(e: Event): void{
        const percent = this.state.getInteger("percent");
        this.setState(JSON.parseObject(`{"percent": ${(percent - 1).toString()}}`));
      }
    
      onShow(): void{
        // 页面显示
        console.log('page onShow');
      }
    
      onLoad(query: JSONObject): void{
        // 页面加载后
        console.log('page onLoad:' + JSON.stringify(query));
      }
    
      // 语音事件
      onVoice(data: JSONObject): void{}
    
      // 界面更新事件
      onUpdate(data: JSONObject): void{
        console.log("onUpdate:" + data.toString())
      }
    
      // 音频事件
      onAudio(data: JSONObject): void{}
    }