0

我知道这是一个矛盾的说法,但我需要一个标题。;-)

考虑这个

define([], function() {
...
var obj = this.publicMethod(); // This line will break with error: Uncaught TypeError: Object [object global] has no method 'publicMethod' 
return {publicMethod: function() {...}}

如何访问 publicMethod?

还是我的结构都错了?

4

2 回答 2

4

您可以在上面定义此函数:

define([], function() {
  ...

  function myMethod() {
  ...
  }
  var obj = myMethod(); 
  return {publicMethod: myMethod}
})
于 2013-05-28T12:54:57.130 回答
0

将您的模块重组为如下所示:

define( [], function(){

  function publicMethod() {
    // code
  }

  var obj = publicMethod();


  return { 'publicMethod': publicMethod };

});
于 2013-05-28T12:55:20.827 回答