exml 数组的数据绑定官方有教程。 对象的数据绑定流程

exml 的 单个对象的数据绑定 教程

1:先定义  皮肤(skin.CommonCountDownSkin)对应的类 CommonCountDownSkin. 实现皮肤需要绑定的值 如:labelColor
export class CommonCountDownSkin extends eui.Component {

  // 倒计时字体的颜色
  private _label_color: number = 0x000000;
  public get labelColor(): number {
    return this._label_color;
  }
  public set labelColor(value: number) {
    this._label_color = value;
  }

}

 

2:  在xml里面使用如: CommonCountDownSkin.exml

<?xml version="1.0" encoding="utf-8"?>
<e:Skin class="skin.CommonCountDownSkin" xmlns:e="http://ns.egret.com/eui" xmlns:w="http://ns.egret.com/wing">
<e:Label id="timeLabel" text="00:00:00" size="{labelSize}" height="{labelSize+5}" verticalAlign="middle" textColor="{labelColor}" bold="true" stroke="{sSize}" textAlign="center" left="0" right="0"/>
</e:Skin>

 

3:关键点: 在其它EXML使用这个自定义的组件

<?xml version="1.0" encoding="utf-8"?>
<e:Skin class="skin.GiftsPanel" xmlns:e="http://ns.egret.com/eui" xmlns:ViewCommonComponet="ViewCommonComponet.*"
xmlns:ns1="*" xmlns:w="http://ns.egret.com/wing" xmlns:ViewHome="ViewHome.*" width="750" height="1334">

  <ViewCommonComponet:CommonCountDownSkin id="countDown" skinName="skin.CommonCountDownSkin" labelSize="22" labelColor="0x24ab60" x="150"/>

</e:Group>
</e:Skin>

 

这样就能达到EXML动态数据的绑定。减少属性设置

 

本质就是给ViewCommonComponet类labelColor 设置一个值。  这样做的唯一好处是 egret swing 组件 在使用这个属性的时候 能动态及时体现出来!!!! 

 

 

使用方案:

将类中某个变量赋值给组件的属性,就能实现数据绑定了。如source=“{imgurl}”,imgurl为类中某个变量

posted @ 2021-01-15 11:42  porter_代码工作者  阅读(359)  评论(0编辑  收藏  举报