手动封装on,emit,off】的更多相关文章

一.概念 1. $on("事件名称",回调函数) 事件绑定,一个事件名称上面可能绑定多个函数 2. $emit("事件名称",需要传递的值) 事件触发时,会触发当前事件身上所有的函数 3. $off("事件名称",[需要解绑的函数]) 事件解绑时,若指定解绑函数则只解绑相应函数,否则解绑全部 二.手动封装on,emit,off事件在vue中的作用 |  在vue中进行非父子组件传值时,我们可以通过在vue的原型上添加一个公共的vue实例,组件之间…
最近在做一个单页应用,node和浏览器仅通过json传输数据,因为是只有自己用等于是锻炼一下自己,所以也不用考虑seo的问题,node端我已经写好了,但是浏览器端想要用ajax原生太麻烦,用封装的函数又需要引入angular,jquery等大型框架.我写node比较多,觉得用什么功能就引入什么功能,不太喜欢用大而全的框架,所以只好手动封装一下ajax的操作 ajax的xhr对象有7个事件 onloadstart                    开始send触发 onprogress    …
正常函数的调用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&q…
on 绑定 emit 触发 off 解绑 //存放事件eventList = {key:valhandle:[]} 1对多on(eventName,callback);handle:-------N多个1.判断事件名称是否存在 2.如果存在的情况下将cb存放在eventName这个数组当中 3.如果不存在创建key值为eventName val值为数组 1对多emit(eventName,params); 当调用emit的时候获取到eventName这的值,对值判断,如果值不存在直接return…
let evevtListenr = {} 封装$on const $on = (eventName,cb)=>{     if(!evevtListenr[eventName]){         evevtListenr[eventName] =[];     }     evevtListenr[eventName].push(cb);     }     封装$emit const $emit = (eventName,params)=>{         if(evevtListen…
了解NPM安装模块时与项目配置文件中的bin配置发生了什么 了解nodejs在控制台中的运行环境及上下文 基于自定义命令集工具集成Yeoman 一.NPM模块安装内幕与nodejs控制台运行环境 1.1NPM模块安装内幕 当我们使用npm install 安装NPM模块时你会思考它到底发生了什么吗? 这个问题在我们日常开发中可能会显得有些多此一举,因为安装依赖和在项目模块中引用这些通过NPM模块都是家常便饭.到这里或许你会灵机一动,当安装angular-cli.create-react-app.…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>封装属于自己的AJAX类库</title> </head> <body> <script> //自执行函数 ~function(){ class ajaxClass{ //=>AJAX四步操作:send ajax i…
最近准备重新学习图像处理的知识,主要目的是自己实现一遍图像处理的算法,所以除了读取.保存图像外的操作都自己写,没想到直接封装OpenCV的读取.保存功能的第一步就出错.关键代码如下 void MyImage::Clear() { if (m_pImg != nullptr) { std::cout << "释放内存" << std::endl; delete m_pImg; m_pImg = nullptr; } } 其中m_pImg是IplImage*类型,析…
Code Object.extend =function(targetObj,fnJson){ //扩展方法,类似于jQuery的$.extend,可以扩展类的方法,也可以合并对象 for(var fnName in fnJson){ targetObj[fnName]=fnJson[fnName]; } return targetObj; }; HttpAjax = (function(){ function HttpAjax(options){ var settings={ type:'po…
export let createStore = (reducer)=>{ //定义默认的state let state; //定义默认的action let actionTypes = "@@redux/INIT"+Math.random(); let initAction = {type:actionTypes} //将所以需要监听的函数放在这个里面 let listeners = [] //定义getState函数 let getState = ()=>state;…