我在触发具有多个参数的 Incisor 应用程序事件时遇到问题。
控制台输出:
spinResult 定义
添加了 spinResult 回调
5
未定义(我希望这读作“7777”)
TestAppEvent:代码验证失败:“string=”期望参数“string”为“string”类型,但提供了“undefined”类型。
如何在回调函数中获得多个可用参数?
class ProjectMain
{
init()
{
this.text = new TextAssembly();
this.text.string = "Build It Once.";
// Define the event here
nc.defineAppEvent("spinResult");
console.log("spinResult Defined");
// Add the callback for the "spinResult" event
nc.appEvents.spinResult.addCallback(this, "spinResultCallback");
console.log("spinResult Callback Added");
// Trigger the event with multiple arguments
nc.appEvents.spinResult.trigger(5, "7777");
}
/**
* spinResultCallback
*/
spinResultCallback(resultData, message)
{
console.log(resultData);
console.log(message);// this should read "7777"
this.text.string = message;
}
}
您面临的问题是由于您的触发器调用 spinResult.trigger() 造成的。触发函数仅接受一个参数。如果您想向回调提供多个参数,可以将它们以数组形式发送。
例如: 纠正此问题的触发线应如下所示:
nc.appEvents.spinResult.trigger( [5, "7777"] ); // 将 args 作为数组传入