需要来自模块的js加载功能

时间:2014-04-14 07:59:02

标签: javascript jquery module requirejs undefined

尽管我已经找到了一些答案,我无法弄明白我在使用require js加载模块时犯了错误,但我总是得到错误Uncaught

  

TypeError:undefined不是函数

在我尝试调用zoom.js文件中的函数的行

  

myZoomingFunctions.minSize();

这里是我的代码:

main.js

require.config({

    baseUrl: 'js/libs',

    paths: {
        'jquery': 'jquery-1.9.1',
        'myDraw': '../draw',
        'myZoomingFunctions': '../zoom'

    }
});
require(['jquery', 'myDraw'], function ($, myDraw_ref) {
  var myDraw = new myDraw_ref();
});

draw.js

define(['myZoomingFunctions'], function (myZoomingFunctions_ref) {

 var myZoomingFunctions = new myZoomingFunctions_ref();

return draw = function() {
 myZoomingFunctions.minSize();
}

});

zoom.js

define([], function () {


  return zoom = function() {

    function minSize(){ 
            alert("minSize called");
      }
}

});

谢谢!

1 个答案:

答案 0 :(得分:-1)

我想,也许如果其他人有同样的问题,这就是解决方案:

main.js

require.config({

    baseUrl: 'js/libs',

    paths: {
        'jquery': 'jquery-1.9.1',
        'myDraw': '../draw',
        'myZoomingFunctions': '../zoom'

    }
});
require(['jquery', 'myDraw'], function ($, myDraw_ref) {
  var myDraw = new myDraw_ref();
});

draw.js

define(['myZoomingFunctions'], function (myZoomingFunctions) {

return draw = function() {
myZoomingFunctions.minSize();
myZoomingFunctions.maxSize();
}

});

zoom.js

define([], function () {
     return {

            minSize: function() {

               alert("min Size called");
            },

             maxSize: function() {
              alert("max Size Called");
            }  
        }  
});