封装观察者模式
Posted learninginto
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装观察者模式相关的知识,希望对你有一定的参考价值。
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 }
以上是关于封装观察者模式的主要内容,如果未能解决你的问题,请参考以下文章