1.Uncaught TypeError:Cannot set property 'text' of undefined
K:public constructor() { super(); this.skinName = "xxx/x.exml"; this.addEventListener(eui.UIEvent.CREATION_COMPLETE,this.onComplete,this); //this.PasswordLabel.text = ""; //会报错1 } public onComplete(){ this.PasswordLabel.text = "";//解决 }}2,项目有后端数据的,在修改名字或者密码等的资料的时候,一定要给服务端发送数据,解析返回数据之后才能判断是否修改完成。例子: GameUtil.bitmapToBtn(this.ensure(e) => { if (this.oldPassword.text == "") { Toast.show("请输入原始密码"); } else if (this.newPassword.text == "") { Toast.show("请输入新密码"); } else if (this.ensurePassword.text == "") { Toast.show("请再次确认密码"); } else { if (this.oldPassword.text == this.newPassword.text) { Toast.show("新旧密码一样,请重新设置密码"); } else if (this.oldPassword.text != this.pwd){ Toast.show("请输入正确的原始密码"); } else { if (this.newPassword.text != this.ensurePassword.text) { Toast.show("确认密码和新密码不完全相同,请重新输入"); } else { //协议 } } } })建议:一般服务器若是做了判断,此处只需要判断数据不为空即可注:if else else if 的使用 GameUtil.bitmapToBtn(this.ensureImage, (e) => { if (this.oldPasswordLabel.text == "") { Toast.show("请输入原始密码"); return; } if (this.newPasswordLabel.text == "") { Toast.show("请输入新密码"); return; } if (this.ensurePasswordLabel.text == "") { Toast.show("请再次确认密码"); return; } if(this.newPasswordLabel.text != this.ensurePasswordLabel.text){ Toast.show("两次密码输入不同,请重新输入"); return; } //通信协议 }); //解析返回数据3,解析返回数据:
4,List:渲染和dataProvider、itemRenderer的顺序关系并不是很大,关键的问题在于数据arr一定要存有数据,不然会显示Object 蓝色底(未有数据)let arr=[];this.gList.dataProvider = new eui.ArrayCollection(arr);this.gList.itemRenderer = X类;5,枚举enum gameIndex { BEGIN, PLAY, ADD_SCORE, PAUSE, GO_ON, END}K:gameIndex.BEGIN 代表的是BEGIN的下标 0gameIndex[0] 代表的是 BEGIN6,关于toString()的使用toString方法会返回一个“以文本方式表示”此对象的字符串Object类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode())返回:该对象的字符串表示形式。注意:toString() 只适用于对象的调用,普通的数据类型不可以调用,这也就是使用包装类的原因JS中,将数字转换为字符串varvar number=new Number(133); document.write("The number as a binary valueis:"); document.write(number.toString(2));使用:(建议选2,因为1需要转换)this.cLabel.text = this.TotalTime.toString();this.cLabel.text = this.TotalTime+ "" ;7,按钮事件public mybutton:eui.Button;public onComplete():void{ this.mybutton.addEventListener(egret.TouchEvent.TOUCH_TAP,(e:egret.TouchEvent) =>{ alert("aaaa"); },this);}8,this.sLabel.text = state == 0 ? "base" : state == 1 ? "begin" : "playing";表达式:“()? :”。()中进行二元运算?在运算,就形成三元运算符9,关掉Scroller滑动时候的滚动条:在scroller下删掉Group,加入一个list容器,之后可以进行设置this.scoroller.horizontalScrollBar.autoVisibility = false;//隐藏进度条10,设置exml的按钮上的字体大小(<eui.Label>this.vBtn.labelDisplay).size = 16;11,更换背景图片资源
public bg: eui.Image;
let strUrl: string = "name_png";
this.bg.source = RES.getRes(strUrl);12,字符串重组
let str:string = ""
//去除最后一位 str = str.substring(0, str.length - 1); this.sLabel.text = str;