3

私は次のものを持っています:

mod.a = (function() {
    var myPrivateVar = 'a';
    function myPrivateFct() {
        //do something I will need in my sub-module (mod.a.b)
    }
    return {
        //some public functions
    }
})();

mod.a.b = (function() {
    // some local vars and functions

    return {
          mySubModuleFct:function() {
              // here I want to call mod.a.myPrivateFct();
          }
})();

サブモジュールを作成し、親モジュール mod.a からプライベート関数を呼び出したいと考えています。モジュール パターンのベスト プラクティスに従いながら、これを行うにはどうすればよいですか?

4

2 に答える 2

2

同僚がやり方を教えてくれました。それは実際には非常にエレガントです。

mod.a = (function() {
    var myPrivateVar = 'a';
    function myPrivateFct() {
        //do something I will need in my sub-module (mod.a.b)
    }
    return {
        b: {
            bPublicMethod:function() {
                myPrivateFct(); // this will work!
            }
        }
        //some public functions
    }
})();

//call like this
mod.a.b.bPublicMethod(); // will call a.myPrivateFct();
于 2011-10-27T21:42:44.937 に答える