使用模块模式在YUI3中创建自定义模块

时间:2012-10-13 04:06:50

标签: javascript module namespaces yui yui3

在我的模块中,我想让一些变量和函数向公众公开,但我不确定它应该以哪种方式编写。

<script type="text/javascript">
    YUI.add('my-module1', function (Y) {

              Y.namespace("MyModule1");

              var privateVar='some data';
              var privateFunc=function(){...};

              /*should I do it like this?*/
              Y.MyModule1.publicVar='some data';
              Y.MyModule1.publicFunc=function(){...};


              /*or is this correct if I do it like this?*/
              var publicVar='some data';
              var publicFunc=function(){...};

              return{
                  publicVar: publicVar,
                  publicFunc: publicFunc
              };


    }, '0.0.1', {
              requires: []
    });

</script>

1 个答案:

答案 0 :(得分:6)

你是第一种方式,通过将公共成员附加到Y,而不是通过返回对象。

有关示例,请参阅http://yuilibrary.com/yui/docs/yui/#yuiaddhttps://github.com/yahoo/yui3-cookbook/blob/master/examples/loading/add_basic.html