码迷,mamicode.com
首页 > 其他好文 > 详细

封装观察者模式

时间:2020-05-26 01:18:40      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:ons   dex   llb   params   监听   模式   export   pre   default   

 1 const eventList = {}
 2 //发布
 3 const $on = function(eventName,callback){
 4     if(!eventList[eventName]){
 5         eventList[eventName] = [];
 6     }
 7 
 8     eventList[eventName].push(callback);
 9 }
10 //监听
11 const $emit = function(eventName,params){
12     if(eventList[eventName]){
13         var arr = eventList[eventName];
14         arr.forEach((cb)=>{
15             cb(params)
16         })
17     }
18 }
19 //解绑
20 const $off = function(eventName,callback){
21     if(eventList[eventName]){
22         if(callback){
23             var index = eventList[eventName].indexOf(callback);
24             eventList[eventName].splice(index,1);
25         }else{
26             eventList[eventName].length = 0;
27         }
28     }
29 }
30 
31 
32 export default {
33     $on,
34     $emit,
35     $off
36 }

 

封装观察者模式

标签:ons   dex   llb   params   监听   模式   export   pre   default   

原文地址:https://www.cnblogs.com/learninginto/p/12962046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!