zoukankan      html  css  js  c++  java
  • 如何封装$on,$emit,$off——学vue前你必须懂得封装!

    let evevtListenr = {}
    封装$on
    const $on = (eventName,cb)=>{
        if(!evevtListenr[eventName]){
            evevtListenr[eventName] =[];
        }
        evevtListenr[eventName].push(cb);
        }
        封装$emit
    const $emit = (eventName,params)=>{
            if(evevtListenr[eventName]){
                evevtListenr[eventName].map((cb)=>{
                    cb(params);
                })
            }
        }
    封装$off
        const $off = (eventName,cb)=>{
            if(evevtListenr[eventName]){
                if(cb){
                let index=vevtListenr[eventName].indexof(cb);
                evevtListenr[eventName].splice(index,1);
                }else{
                    evevtListenr[eventName].length=0;
                }
            }
        }
        
        function fn1(val){
            console.log(111,val);
        };
        function fn2(val){
            console.log(222,val);
        };
        function fn3(val){
            console.log(333,val);
        }
        $on('work1',fn1);
        $on('work1',fn2);
        $on('work1',fn3);
        $emit('work1');
        
  • 相关阅读:
    .Matrix-Alpha总结展望
    .Matrix测试随笔
    Beta冲刺--第三次冲刺随笔
    Beta冲刺--第二天随笔
    Beta冲刺--第一天随笔
    专业团队——Beta冲刺凡事预则立
    专业团队Alpha总结展望——前事不忘后事之师
    专业团队——(Alpha冲刺)测试随笔
    专业团队——Alpha冲刺汇总
    总结随笔
  • 原文地址:https://www.cnblogs.com/robot666/p/11111503.html
Copyright © 2011-2022 走看看