一个容易的javascript模块间事件通信范例
一个简单的javascript模块间事件通信范例
现在项目开发中很多采用了模块化方式开发,很多时候多个模块中间需要通过事件方式进行交互,这里给出一个简单的示例代码,希望对大家有所帮助。
现在项目开发中很多采用了模块化方式开发,很多时候多个模块中间需要通过事件方式进行交互,这里给出一个简单的示例代码,希望对大家有所帮助。
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); } } };