使用requirejs时无法调用函数

时间:2013-05-10 08:54:36

标签: javascript requirejs

我一直在研究一个新项目,最近开始在项目中使用require.js

在点击application.jsdashboard.js标签或访问varialbe #dailyTab之前,我尝试从#weeklyTab拨打var a电话之前似乎一切正常在仪表板中,js。我的代码在

之下

main.js

requirejs.config({
    baseUrl : '../static/js/',
    paths : {
        'jquery' : 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min',
        'jquery-ui' : 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min',
        'bootstrap' : ['//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min', 'bootstrap.min'],
    },
    shim : {
        'bootstrap' : ['jquery'],
        'bootswatch' : ['bootstrap'],
    }
});

require(["jquery", "jquery-ui", "bootstrap", "dashboard", "application"], function($, jui, bootstrap, dashboard, application) {
    $("#myTab a:first").tab("show");
}, function(err) {
    console.log(err)
});

dashboard.js

define(function() {
    var a = 10;
    var Reload = {
        dailyCharts : function() {
            console.log("Daily Charts");
        },
        weeklyCharts : function() {
            console.log("Weekly Charts");
        }
    };
    var Display = {
        none : function(node) {
            console.log("none");
        },
        block : function(node) {
            console.log("block");
        }
    }
});

的application.js

define(["jquery", "dashboard"], function(jquery, dashboard) {
    $("#dailyTab").click(function() {
        dashboard.Reload.dailyCharts();
    });
    $("#weeklyTab").click(function() {
        dashboard.Reload.weeklyCharts();
    });
});

有人可以告诉我我做错了什么或我能做些什么来解决这个问题。我接受我的编码技巧不是很好。

非常感谢任何帮助。 提前致谢

1 个答案:

答案 0 :(得分:2)

好吧,你的dashboard.js没有返回任何内容。 application.js将如何使用它?

define(function() {
    var a = 10;
    var Reload : {...};
    var Display : {...};
    //return the interface
    return {
      Reload : Reload,
      Display : Display
    }
});