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');
        
  • 相关阅读:
    关于oracle的一些操作
    关于List的一些操作
    XSS挑战赛(2)
    阿里云图床搭建
    XSS挑战赛(1)
    Shiro remeberMe反序列化漏洞复现(Shiro-550)
    HTTP慢速拒绝服务攻击(Slow HTTP Dos)
    从Excel获取整列内容进行批量扫描
    PHP代码审计分段讲解(14)
    PHP代码审计分段讲解(13)
  • 原文地址:https://www.cnblogs.com/robot666/p/11111503.html
Copyright © 2011-2022 走看看