我有一个模块,其中包含各种创建方法。模块通过requireJS加载到另一个模块,如下所示:
define(['lib/state-machine'],
function (stateMachine) {
// Creator method.
stateMachine.create({
events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }],
});
}
);
默认情况下,creator方法接受一个充满回调的对象。我希望它能够做的是使用模块调用它作为回调的对象。例如,如果我使用标准方法并为创建者提供了这样的对象:
callbacks { onEnter: function () {
// Do something here.
}
}
它实际应该转到模块本身的'onEnter':
define(['lib/state-machine'],
function (stateMachine) {
function onEnter () {
// This method gets fired by the state machine.
}
// Creator method.
stateMachine.create({
events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }],
});
}
);
注意:状态机假定存在基于事件名称的方法。因此,当Enter事件触发时,它总是尝试查找onEnter方法。我正在使用的状态机可以在https://github.com/jakesgordon/javascript-state-machine/
找到答案 0 :(得分:0)
您是否尝试制作自述文件中的代码示例?
function (stateMachine) {
function onEnter(event, from, to) { /* your code goes here */ }
// Creator method.
stateMachine.create({
events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }],
callbacks: {
onEnter: onEnter
}
});
}