美文网首页
一个简单的javascript模块间事件通信范例

一个简单的javascript模块间事件通信范例

作者: 1af45fa6b25f | 来源:发表于2018-03-15 14:21 被阅读0次

    现在项目开发中很多采用了模块化方式开发,很多时候多个模块中间需要通过事件方式进行交互,这里给出一个简单的示例代码,希望对大家有所帮助。

    window.Core = window.Core || {};  

    Core.listenData = {};  

    //事件监听  

    Core.listen =function (args, handle) {  

    //args:监听事件的名称,可为数组形式,handle:监听到事件后的处理函数  

    //同一个页面上可能存在多个同样的部件,他们所监听的可能是同一个事件  

    if (typeof (args) == 'string') {  

            args = [args];  

        }  

    for (var i = 0; i < args.length; i++) {  

    if (Core.listenData.hasOwnProperty([args[i]])) {  

                Core.listenData[args[i]].push(handle);  

    }else {  

                Core.listenData[args[i]] = [];  

                Core.listenData[args[i]].push(handle);  

            }  

        }  

    };  

    //事件通知  

    Core.notify =function (handleName, data) {  

    if (Core.listenData.hasOwnProperty([handleName])) {  

    var handleList = Core.listenData[handleName];  

    for (var i = 0; i < handleList.length; i++) {  

                handleList[i](handleName, data);  

            }  

        }  

    };  

    传送门

    相关文章

      网友评论

          本文标题:一个简单的javascript模块间事件通信范例

          本文链接:https://www.haomeiwen.com/subject/cfrhqftx.html