elementUI自定义传参的解决方法 这里的handleSelect默认绑定的参数是选中的那条数据。如果一个页面有好几个相同的组件,要想知道选的是哪个? <el-autocomplete v-model="state4" :fetch-suggestions="querySearchAsync" placeholder="请输入内容" @select="handleSelect" ></el-autocomplete> 解决方案: <el-autocomplete v-model="state4" :fetch-suggestions="querySear...

需求:实现一个拖拽指令,可在页面可视区域任意拖拽元素。 思路: 设置需要拖拽的元素为相对定位,其父元素为绝对定位; 鼠标按下(onmousedown)时记录目标元素当前的 left 和 top 值; 鼠标移动(onmousemove)时计算每次移动的横向距离和纵向距离的变化值,并改变元素的 left 和 top 值; 鼠标松开(onmouseup)时完成一次拖拽。 constdraggable={ inserted:function(el){ el.style.cursor='move' el.onmouse...

1.多⼊⼝情况下,使⽤CommonsChunkPlugin来提取公共代码 2.通过externals配置来提取常⽤库 3.利⽤DllPlugin和DllReferencePlugin预编译资源模块通过DllPlugin来对那些我们引⽤但是绝对不会修改的npm包来进⾏预编译,再通过DllReferencePlugin将预编译的模块加载进来。 4.使⽤Happypack实现多线程加速编译 5.使⽤webpack-uglify-parallel来提升uglifyPlugin的压缩速度。原理上webpack-uglify-parallel采⽤了多核并⾏压缩来提升压缩速度 6.使⽤Tree-shakin...

react的拆分前提是代码目录设计规范,模块定义规范,代码设计规范,符合程序设计的一般原则,例如高内聚、低耦合等等。 在api层面我们单独封装,对外暴露http请求的结果。 数据层我们使用的mobx封装处理异步请求和业务逻辑处理。 试图层,尽量使用mobx层面的传递过来的数据,修改逻辑。 静态类型的资源单独放置 公共组件、高阶组件、插件单独放置 工具类文件单独放置

JSON是一种基于文本的轻量级的数据交换格式。它可以被任何的编程语言读取和作为数据格式来传递。 在项目开发中,使用JSON作为前后端数据交换的方式。在前端通过将一个符合JSON格式的数据结构序列化为JSON字符串,然后将它传递到后端,后端通过JSON格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。 因为JSON的语法是基于js的,因此很容易将JSON和js中的对象弄混,但是应该注意的是JSON和js中的对象不是一回事,JSON中对象格式更加严格,比如说在JSON中属性值不能为函数,不能出现NaN这样的属性值等,因此大多数的js对象是不符合JSON对象的格式的。 在js中提...

轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb; 简单易学:国人开发,中文文档,不存在语言障碍,易于理解和学习; 双向数据绑定:保留了angular的特点,在数据操作方面更为简单; 组件化:保留了react的优点,实现了html的封装和重用,在构建单页面应用方面有着独特的优势; 视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作; 虚拟DOM:dom操作是非常耗费性能的,不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式; 运行速度更快:相比较于react而言,同样是操作虚拟dom...

  1iMnUWoR4lQ1   2023年12月07日   14   0   0 图层图层htmlhtml数据数据

不会立即同步执行重新渲染。Vue实现响应式并不是数据发生变化之后DOM立即变化,而是按一定的策略进行DOM的更新。Vue在更新DOM时是异步执行的。只要侦听到数据变化,Vue将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。 如果同一个watcher被多次触发,只会被推入到队列中一次。这种在缓冲时去除重复数据对于避免不必要的计算和DOM操作是非常重要的。然后,在下一个的事件循环tick中,Vue刷新队列并执行实际(已去重的)工作。

Vue的nextTick其本质是对JavaScript执行原理EventLoop的一种应用。 nextTick的核心是利用了如Promise、MutationObserver、setImmediate、setTimeout的原生JavaScript方法来模拟对应的微/宏任务的实现,本质是为了利用JavaScript的这些异步回调任务队列来实现Vue框架中自己的异步回调队列。 nextTick不仅是Vue内部的异步队列的调用方法,同时也允许开发者在实际项目中使用这个方法来满足实际应用中对DOM更新数据时机的后续逻辑处理nextTick是典型的将底层JavaScript执行原理应用到具体案例中的示...

在 Vue3.0 中通过 Proxy来替换原本的 Object.defineProperty来实现数据响应式。 Proxy是ES6 中新增的功能,它可以用来自定义对象中的操作。 代表需要添加代理的对象,handler用来自定义对象中的操作,比如可以用来自定义 get 函数。 通过自定义 函数的方式,在原本的逻辑 中插入了我们的函数逻辑,实现了在对对象任何属性进行读写时发出通知。 当然这是简单版的响应式实现,如果需要实现一个Vue中的响应式,需要在get中收集依赖,在set派发更新,之所以Vue3.0要使用...

Vuex是一个专为Vue.js应用程序开发的状态管理模式。每一个Vuex应用的核心就是store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态(state)。 (1)Vuex的状态存储是响应式的。当Vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会相应地得到高效更新。 (2)改变store中的状态的唯一途径就是显式地提交(commit)mutation。这样使得我们可以方便地跟踪每一个状态的变化。 主要包括以下几个模块: State=>基本数据,定义了应用状态的数据结构,可以在这里设置默认的初始状态。 Getter...

  1iMnUWoR4lQ1   2023年11月30日   107   0   0 模块化Vue模块化Vue数据数据

全局的对象(globalobjects)或称标准内置对象,不要和"全局对象(globalobject)"混淆。这里说的全局的对象是说在 全局作用域里的对象。全局作用域中的其他对象可以由用户的脚本创建或由宿主程序提供。 标准内置对象的分类 (1)值属性,这些全局属性返回一个简单值,这些值没有自己的属性和方法。 例如Infinity、NaN、undefined、null字面量 (2)函数属性,全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。 例如eval()、parseFloat()、parseInt()等 (3)基本对象,基本对象是定义或使用其他对象的基础。...

MVVM分为Model、View、ViewModel三者。 Model代表数据模型,数据和业务逻辑都在Model层中定义; View代表UI视图,负责数据的展示; ViewModel负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作; Model和View并无直接关联,而是通过ViewModel来进行联系的,Model和ViewModel之间有着双向数据绑定的联系。因此当Model中的数据改变时会触发View层的刷新,View中由于用户交互操作而改变的数据也会在Model中同步。 这种模式实现了Model和View的数据自动同步,因此开发者只需要专注对数据的维护操作即可,而不需...

第一种方式:操作元素的属性(对象.style.样式名=样式值;) //改变直接样式 varchild2=document.createElement("div"); child2.innerHTML="child2"; child2.style.fontWeight="bold"; parent.appendChild(child2); 第二种方式:操作元素的类(对象.className=类;) 例如: varparent=document.getElementById("parent"); //改变className varchild0=document.createElement("...

  1iMnUWoR4lQ1   2023年11月25日   12   0   0 csscss

undefined和null的区别 ●undefined表示一个变量没有被声明,或者被声明了但没有被赋值(未初始化),一个没有传入实参的形参变量的值为undefined,如果一个函数什么都不返回,则该函数默认返回undefined。null则表示"什么都没有",即"空值"。 ●Javascript将未赋值的变量默认值设为undefined;Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的;

entry:入口文件 output:输出文件配置 resolve:用来配置模块的解析方式 module:用来配置模块如何被解析 plugins:插件 devServer:开发服务器配置 devtool:调试工具 optimization:优化相关配置 externals:外部扩展的配置 performance:性能相关配置 target:构建的目标环境

1、变量作用域 要理解闭包,首先要理解JavasSript的特殊的变量作用域。 变量的作用域无非就两种:全局变量和局部变量。 JavasSript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。 注意点:在函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明的是一个全局变量! 2、如何从外部读取函数内部的局部变量? 出于种种原因,我们有时候需要获取到函数内部的局部变量。但是,上面已经说过了,正常情况下,这是办不到的!只有通过变通的方法才能实现。 那就是在函数内部,再定义一个函数。 functionf1(){ varn=999;...

区别: 1.Cookie的大小是受限的; 2.每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽; 3.cookie还需要指定作用域,不可以跨域调用; 4.WebStorage拥有setItem,getItem等方法,cookie需要前端开发者自己封装setCookie,getCookie; 5.Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在,而WebStorage仅仅是为了在本地“存储”数据而生; 6.IE7、IE6中的UserData通过简单的代码封装可以统一到所有的浏览器都支持webstorage。

  1iMnUWoR4lQ1   2023年11月19日   39   0   0 封装Storage封装WebWebStorage

一个程序至少有一个进程,一个进程至少有一个线程; 线程的划分尺度小于进程,使得多线程程序的并发性高; 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率; 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制; 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。

A. 去掉或者丢失样式的时候能够让页面呈现出清晰的结构 B.有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重; C.方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页; D.便于团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

a. 前端是最贴近用户的程序员,前端的能力就是能让产品从90分进化到100分,甚至更好 b. 参与项目,快速高质量完成实现效果图,精确到1px; c.与团队成员,UI设计,产品经理的沟通; d. 做好的页面结构,页面重构和用户体验; e. 处理hack,兼容、写出优美的代码格式; f. 针对服务器的优化、拥抱最新前端技术。

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~