如何使用requireJS调用许多函数

时间:2014-02-11 12:44:41

标签: javascript jquery events requirejs

我有两个文件:main.js和events.js。

在main.js中,我定义了一些函数,看起来像这样:

define(["jquery"], function() {

    var a =  {
       function_a: function(){
         some_actions;
       }
    }

    var b =  {
       function_b: function(){
         some_actions;
       }
    }

    return a, b;
});

在events.js中我有一些调用这个函数:

require(['jquery','app/main'], function($, a){
    selector.on('click', function(){
        a.function_a();
    });
});

require(['jquery','app/main'], function($, b){
    selector.on('click', function(){
        b.function_b();
    });
});

有些事情是错的,因为我不能调用多个函数,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

而不是return a,b这是无效的语句,你需要返回一个对象,例如: return {'a':a, 'b':b}

然后在你的代码中你可以写:

require(['jquery','app/main'], function($, obj){
    selector.on('click', function(){
        obj.a.function_a();
        obj.b.function_b();
    });
});

您也可以使用数组。然后返回return [a,b]并在require函数中:

require(['jquery','app/main'], function($, obj){
    selector.on('click', function(){
        obj[0].function_a();
        obj[1].function_b();
    });
});