- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 Vue 2 源码中的工具函数 - (二、转化类函数)
二、转化类函数1. toString 转字符串用 Array.isArray 判断变量是否为数组类型 或者 是Object类型,是则用 JSON.stringify 转换;若为 其他 类型,用 String() 转换 。2. toNumber 转数字通过parseFloat 转数字转换成功,将成功的部分返回;转换失败,返回原来的值。 3. camelize 连字符 转 小驼峰4. capitalize 首字母大写5. hyphenate 小驼峰 转 连字符6. toArray
2022-07-12 09:41:18 509
原创 Vue 2 源码中的工具函数 - (一、判断型函数)
一、判断型函数1. emptyObjectObject.freeze({}); 冻结对象,即对象的第一层不能修改。2. isUndef 判断变量是 未定义3. isDef 判断变量是 已定义和上述判断正好相反。4. isTrue 判断变量是否未true。5. isFalse 判断变量是否未false。6. isPrimitive 判断变量试是否是 原始数据类型primitive: 原始,初始;原始数据类型: string number symbol boolean7. i
2022-07-06 16:55:29 974
原创 vue3 中的 watch 小结
主要总结一下在vue3中使用watch的几种常见的方式,在项目使用中依据不同的场景进行使用。1. 监听一个变量注意:如果这个obj是 reactive,那么无法监听到oldV。同样有个好处:reactive自动开启深度监听,不需要deep。2. ref 变量的深度监听3. 监听多个变量PS: 只要其中一个有修改,就监听到变化4. 监听某个obj的某个属性或者5. watchEffect —— 自动监听变量,立即生效它与watch的不同之处在于一下几点:1)不需要声明监听的变量,
2022-07-01 17:09:54 1288
原创 vue3.0 中的 ref 和 reactive 小结
在vue3.0中,声明一个变量最常使用的就是ref 和 reactive 两种类型。这篇来总结一下两者的相同点和不同点。一、ref创建一个响应式的变量,主要是一些 基本数据类型,可以直接返回创建的值。因为ref( ) 创建的是一个对象,所以在js中读取使用 .value 形式获取, 但在 template模板中可以直接读取,自动展开渲染内部的值。二、reactive创建一个响应式的对象,主要是 object 和 array 类型。它与ref创建的变量有几点不同:在template模板中,需要用 x.y
2022-06-06 14:50:06 936
原创 关于forEach会不会改变原数组问题
进入正文,上午coding的时候发现了关于数组循环的问题,我这人又比较懒就琢磨能不能简约点。于是就有了今天的这篇小总结~大家比较熟悉的就是forEach不会改变原数组的值,map不改变原数组,可以返回一个新数组。那有时候我们想修改原数组中的值,又不想使用map创建一个新数组的时候,可以怎么做呢?凡事都可能有例外的情况,比如:如果这个数组的某一项是引用类型,那么也可以使用forEach进行修改。a = [1,2, {num: 1}, 'abc']a.forEach(item => {
2022-05-31 13:56:25 3881 3
原创 Vue系列之条件渲染(五)
前言之前介绍了v-bind和v-on指令,今儿来介绍一下vue的条件渲染。一般的页面开发中会依据不同的判断条件来控制dom是否显示在页面上,以及dom元素是否存在。本章节就重点介绍v-if和v-show指令。正文1. v-ifv-if指令用于动态的渲染一部分内容,通过js语句返回为true时dom元素被渲染;反之,不存在。,举个...
2019-06-14 09:46:20 112
原创 Vue系列之指令(四)
前言紧接上一篇的模板,今天来介绍一下指令( Directives )。它的任务就是当js表达式改变时,可以动态地对dom进行响应,本章节仅对指令进行入门级讲解,后续在事件等其他章节会给大家更加详细的讲解哒~正文1. 参数指令以v-名称:参数的形式存在。例如,v-bind 指令可以用于响应式地更新 HTML 特性:<a v-bind:hr...
2019-06-14 09:44:31 183
原创 Vue系列之模板语法(三)
前言之前的两篇对vue做了整体和基础的介绍,今天主要讲解一下vue的基础语法之一——HTML模板。Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据,将模板编译成虚拟 DOM 渲染函数。结合响应系统,智能地计算出最少需要重新渲染多少组件,并把 DOM 操作次数减到最少。正文1. 显示文本数据绑定...
2019-06-13 11:47:41 172
原创 Vue系列之实例(二)
前言接着上一篇讲到了如何搭建一个vue项目,今天我们来具体讲解一下进行业务层面的开发的基础架构。本文主要讲解一下vue的实例参数有哪些,以及应用场景。正文在上一篇章中提到项目入口文件,可以在webpack.base.conf.js中找到:entry { app: './src/main.js'}在main.js中会有一个vue的实例,每个vu...
2019-06-13 11:43:40 127
原创 Vue系列之初体验(一)
前言伴随大前端时代的到来,越来越多的前端框架接踵而至。对于一些刚刚接触前端的小伙伴们,可能不太了解什么是框架。个人的理解是框架可以为前端开发者提供一整套技能,通过规定好的代码结构做编排,开发者只需要按部就班的编写与业务相关的代码即可。同时框架还为我们提供了一些优化、技能更强大的隐形接口,使你在升级打怪的路上一路畅通无阻。讲到这里是不是觉得开发web产品就很有必要用上框架啦。正文...
2019-06-13 11:34:40 129
原创 vue踩坑系列-v-for和v-if的重复循环
遇到的问题是: 前端获取的数据是正确的,渲染传参也是正确的。但是在页面展示时却出现了重复渲染。代码如下:<ul> <li v-for="(item, index) in data" :key="index" v-if="show"> 111 </li> <li v-for="(item, index) in dat
2018-11-12 11:17:52 5626 1
原创 对js回调函数的理解
定义:回调函数,顾名思义就是小样,回头我再调用你。。。英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed我们可以理解为:将回调函数B当做一个参数,传递给另外一个函数A,即先执行函数...
2018-04-02 15:00:56 181
原创 在ie下修改样式,本地调试生效,打包后没有加载样式
又是一个ie的兼容性问题~如题所示,在ie下修改样式,本地调试是很ok的,但是webpack打包之后就有问题了,我的样式呢?瞄了咪的~原因在于:ie最大支持4k个选择器,且文件不能太大当然啦~肯定是可以解决的。那么我们就需要修改splitcss-webpack-plugin=>修改webpack.prod.conf.jsconst CSSSplitWebpackPlugin = requir...
2018-03-23 14:52:43 739
原创 ie9不支持placeholder
html:<Input v-model="searchWord" placeholder="查找关键词" @on-enter="searchTags" @on-focus="inputFocus" @on-blur="inputBlur"></Input><span class="searc
2018-03-21 19:36:37 326
转载 超强JavaScript编辑器WebStorm代码提示迟缓问题
去D2后发现 Hedger 的js编辑器是webStorm,便下载来试试,结果发现:虽然WebStorm的js的提示远远不如aptana那么强悍(输入字母d不提示document),但是做为 IntelliJ IDEA 的js缩水版,其它功能也是比较期待的。具体的有:1. 文件不用保存,敲完直接看演示(ff也有类似的一款插件,罗浮宫abcd曾推荐过)。2. 自带有svn,如果不用服务器版的svn的...
2018-03-21 10:12:40 1351
翻译 Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件
关于AutoprefixerAutoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器。它适用于普通的CSS,可以实现css3代码自动补全。也可以轻松跟Sass,LESS及Stylus集成,在CSS编译前或编译后运行。详情见,https://github.com/postcss/autoprefixer当Autoprefixer添加前缀到你的CSS,还不会忘记修复语法差异...
2018-03-21 10:11:46 4449 1
原创 IE9下必须打开控制台才能执行脚本文件
这几天在调整IE,遇到了兼容性问题。IE必须打开控制台,才能执行脚本文件,原因在于IE不支持console语法。开发环境下,这种行为忍忍就过去了。but在生产环境下,打开控制台的做法,非常的反人类。以下给出两种解决方案:方案一:在webpack.prod.conf.js 中添加并修改js插件配置项(我用的是webpack)newUglifyJsPlugin({ uglifyOptions: ...
2018-03-21 10:10:41 1374
原创 iview在IE报TypeError: 无法获取未定义或 null 引用的属性transfer
iview在IE9下面报如下错误:[Vue warn]: Error in directive transfer-dom inserted hook: “TypeError: 无法获取未定义或 null 引用的属性“transfer””.其原因是IE9不支持dataset属性导致的,所以需要在全局定义dataset属性 // 修复IE10及以下版本不支持dataset属性的问题,兼容transfe...
2018-03-21 10:07:44 11429 1
原创 在IE9下,当responseType设置为json, response.data为undefined
继续踩坑如题,不多说。When responseType is set to json, then response.data is undefined (only in IE9)ps:我用的是vue axios方案一:(亲测有效)在axios 中千万不要写,否则后果自负。当然如果这种方案出现了其他问题(目前没有发现),可以试试第二种。axios.defaults.responseType = '...
2018-03-21 10:03:59 5760
原创 Sublime Text插件
超级好用的编辑器~话不多说直接上插件:Emmet Git(https://github.com/emmetio/emmet),Document(http://docs.emmet.io/)原名为:Zencoding, 快速生成html,css,默认扩展快捷为tab,如果tab按钮损坏,ctrl+e替换。 生成规则在:Preferences -> Browser packages -> ...
2018-03-21 10:01:58 265
转载 web前端面试总结(一)
HTMLDoctype作用?标准模式与兼容模式各有什么区别? (1)、声明位于位于HTML文档中的第一行,处于 html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 (2)、标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模
2016-09-07 15:37:39 682
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人