[0]laya3.0 微信小游戏装饰器不生效

如题,laya ide 上使用没问题,在微信小游戏上没有效果
 
示例:
export function regEventOn(eventName:any){
console.info("!! regeventon ", eventName)
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
EventSystem.on(eventName, target, target[propertyKey])
};
}

@regEventOn(initEvent.start)
onInitStart(){
console.info("!! show loading")
ViewManager.show(ViewId.loading, ViewLayer.overlay);
}
在微信上日志没有输出。
已邀请:

小高

赞同来自:

您好,将这个勾选去掉试试呢。

Snipaste_2023-01-30_15-50-28.png

 

谷主

赞同来自:

bundle.js里是否有regEventOn这个方法,如果没有,那是不是这个ts没有地方用到被裁剪了。

Aimumu

赞同来自:

同问~~,在把项目移植到laya3.0上,装饰器失效~~,应该怎么正确处理装饰器代码呢~
 
import BaseProxy from "./BaseProxy"
export interface DecorateProxyConstructor {
    new (proxyName: string): BaseProxy

const ModelProxyMap: { [key: string]: DecorateProxyConstructor } = {} 
export const ModelProxyKeys: Array<string> = new Array<string>() 
function RegistProxyConstructor(loaderName: string, func: DecorateProxyConstructor) {
    console.log("reg proxy", loaderName)
    if (ModelProxyKeys.indexOf(loaderName) == -1) {
        ModelProxyKeys.push(loaderName)
        ModelProxyMap[loaderName] = func
    } else {
        throw "repeat reg content loader"
    }

export function GetModelProxyConstructor(loaderName: string) {
    return ModelProxyMap[loaderName]

export function DecorateModelProxy(loaderName: string) {
    console.log("DecorateModelProxy", loaderName)
    return function (func: DecorateProxyConstructor) {
        RegistProxyConstructor(loaderName, func)
    }
}

要回复问题请先

商务合作
商务合作