首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RequireJS -将构造函数应用于模块

RequireJS -将构造函数应用于模块
EN

Stack Overflow用户
提问于 2012-03-28 20:28:08
回答 1查看 172关注 0票数 1

我有一个模块,它包含了一个排序的创建方法。该模块通过requireJS加载到另一个模块中,如下所示:

代码语言:javascript
复制
define(['lib/state-machine'],
    function (stateMachine) {

        // Creator method.
        stateMachine.create({
            events : [  { name: 'Enter', from: 'Initialised', to: 'Running' }],
        });
    }
);

默认情况下,creator方法接受一个充满回调的对象。我希望它能够做的是使用调用它的模块作为回调的对象。例如,如果我使用标准方法,并为创建者提供了一个对象,如下所示:

代码语言:javascript
复制
callbacks { onEnter: function () { 
        // Do something here.
    }
}

它实际上应该转到模块本身中的“onEnter”:

代码语言:javascript
复制
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/

EN

回答 1

Stack Overflow用户

发布于 2012-03-28 23:01:02

你有没有试着像Readme文件中的代码示例一样?

代码语言:javascript
复制
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
        }
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9907494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档