-
Creator 版本:2.0.4
-
目标平台: 模拟器
-
详细报错信息,包含调用堆栈:
Simulator: E/jswrapper (271): ERROR: Uncaught TypeError: Cannot read property ‘msg’ of undefined, location: assets/OnTest.js:0:0
STACK:
[0]anonymous@assets/OnTest.js:20
[1]170.CallbacksInvoker.invoke@src/cocos2d-jsb.js:27878
[2]start@assets/EmitTest.js:19
[3]anonymous@(no filename):3
[4]invoke@src/cocos2d-jsb.js:11712
[5]startPhase@src/cocos2d-jsb.js:11852
[6]mainLoop@src/cocos2d-jsb.js:7064
[7]callback@src/cocos2d-jsb.js:7294
[8]tick@jsb-adapter/jsb-builtin.js:2001
at HTMLElement.print-simulator-log (G:\CocosCreator2\resources\app.asar\editor\builtin\scene\panel\messages\scene.js:1:1487)
at Object.e._dispatch (G:\CocosCreator2\resources\app.asar\editor-framework\lib\renderer\panel.js:1:1941)
at EventEmitter.o.on.s (G:\CocosCreator2\resources\app.asar\editor-framework\lib\renderer\ipc.js:1:2917)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:204:7) -
重现方式:
三个脚本
//Emit.js
var MsgCenter = require(“GameManager”);
cc.Class({
extends: cc.Component,
start ()
{
MsgCenter.emit(‘test’, {
msg: ‘Hello, this is Cocos Creator’,
})
},
});
//End Emit.js
//On.js
var MsgCenter = require(“GameManager”);
cc.Class({
extends: cc.Component,
start()
{
MsgCenter.on(‘test’, function (event) {
console.log(event.detail.msg);
});
}
});
//End On.js
//GameManager.js
var MsgCenter = new cc.EventTarget();
module.exports = MsgCenter;
//End GameManager.js