[]附加脚本的使用问题


class ScaleButton {

    constructor() {
        console.log("加载ScaleButton");
    }

    private _owner: any;

    public set owner(o: laya.display.Sprite) {
        this._owner = o;
        console.log("设置owner");
    }

    public get owner(): laya.display.Sprite {
        return this._owner;
    }

}


新建脚本类如上。运行项目时,构造方法中的log被输出,但set方法中的log未被输出。
查看laya.ui.js,发现4695行中使用了tChild.hasOwnProperty("owner")判断owner,结果为false。
把hasOwnProperty("owner") 改为 "owner" in tChild,set中的log被输出。
引擎1.7.5beta.


// if (tChild.hasOwnProperty("owner")) {
//     tChild["owner"] = comp;
// } 
if ("owner" in tChild) {
    tChild["owner"] = comp;


已邀请:

cuixueying

赞同来自:

感谢你的建议,新版本引擎也会做出修改,感谢反馈!

he853066732

赞同来自:

刚刚发现了同样的问题    当前版本1.7.16beta

要回复问题请先

商务合作
商务合作