- 博客(71)
- 资源 (1)
- 收藏
- 关注
转载 移动端Web页面问题解决方案
1、安卓浏览器看背景图片,有些设备会模糊。用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢?经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960640分辨率,在网页里只显示了480320,这样devicePixelRatio=2。现在android比较乱,有1.5的,
2017-06-29 14:51:20 813
转载 理解的闭包
闭包是js中一个晦涩难懂的一个概念,网上关于闭包的文章也是抓一大把,每个人的文章却又不尽相同,或者说,每个人的理解都不一样。什么是闭包阮一峰老师的一篇文章中说:闭包就是能够读取其他函数内部变量的函数。可以把闭包简单理解成”定义在一个函数内部的函数”。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。这个解释不能说错,但觉得有点片面。阮老师是从函数内部变量的角度去看闭包。也...
2018-10-18 23:39:23 200
转载 vue 组件之间使用eventbus传值
对于前端的我们而言,并非是只有写界面才是最大的问题,很多的情况下,我们需要关注的是数据,比如js页面的数据传递等等,学习vue我们也是需要知道怎么去使用数据当然,使用存储也是可以得,但是并非一定要缓存,当然在vue中有推荐了我们去使用vuex去数据交互,Vuex会让你的Vue代码足够灵活可控,把数据统一存入state, 只允许通过Actions触发Mutations修改。然而,有时候我们的...
2018-10-12 00:25:29 494
转载 从青铜到王者10个css3伪类使用技巧和运用,了解一哈
从青铜到王者10个css3伪类使用技巧和运用,了解一哈写在前面伪类经常与伪元素混淆,伪元素的效果类似于通过添加一个实际的元素才能达到,而伪类的效果类似于通过添加一个实际的类来达到。实际上css3为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。伪类与伪元素的本质区别就是是否抽象创造了新元素。具体的伪类和伪元素相关知识本文就不深入,下面介绍一下从青铜到王者10个cs...
2018-08-14 10:38:49 313
转载 JavaScript中的深拷贝和浅拷贝
在说深拷贝与浅拷贝前,我们先看两个简单的案例://案例1var num1 = 1, num2 = num1;console.log(num1) //1console.log(num2) //1num2 = 2; //修改num2console.log(num1) //1console.log(num2) //2//案例2var obj1 = {x: 1, y: 2}, o...
2018-08-10 14:41:51 179
转载 JavaScript设计模式与实践--工厂模式
1 什么是工厂模式?工厂模式是用来创建对象的一种最常用的设计模式。我们不暴露创建对象的具体逻辑,而是将将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂。工厂模式根据抽象程度的不同可以分为:简单工厂,工厂方法和抽象工厂。如果只接触过JavaScript这门语言的的人可能会对抽象这个词的概念有点模糊,因为JavaScript一直将abstract作为保留字而没有去实现它。如果不能很好的...
2018-08-10 13:39:51 477 1
转载 JavaScript运行机制:event-loop
JavaScript运行机制:event-loop 我们从javascript的单线程->任务队列->事件和回调函数->事件环,一步一步讲解javascript的执行机制。 一、JavaScript是单线程JavaScript语言的特点是单线程,同一时间只能做一件事,JavaScript之所以是单线程,跟他的用途有关,作为浏览器脚本语言,JavaSc...
2018-08-10 09:45:09 172
转载 Vue.js是如何做到数据响应的?
许多前端JavaScript框架(例如Angular,React和Vue)都有自己的数据相应引擎。通过了解相应性及其工作原理,您可以提高开发技能并更有效地使用JavaScript框架。在视频和下面的文章中,我们构建了您在Vue源代码中看到的相同类型的Reactivity。当你第一次看到它时,Vue的响应系统看起来很神奇。拿这个简单的Vue应用程序:不知何故,Vue只知道如果价格发生...
2018-08-09 16:18:45 694
转载 Event Loop小计
我们都知道JavaScript是单线程的,也就是说同一时间只能干一件事。这是因为JavaScript主要是用来操作DOM的,如果变成多线程,浏览器就懵逼了,不知道该听谁的了。但是虽然js是单线程,但是完全可以模拟多线程,靠的就是Event Loop。我们都知道js中的代码分 同步 和 异步,所谓的 异步 其实就是不会阻塞我们的主线程,等待主线程的代码执行完毕才会执行。callback setT...
2018-08-09 09:16:47 179
转载 this从溺爱到‘失宠’ (二)
嗨!欢迎来到让我们一起解决“this”难题的第二部分,我们试图揭开 JavaScript 中最难让人理解的一部分内容 - “this”关键字的神秘面纱。如果您还没有读过 第一部分,你需要先把它读一下。在第一部分中,我们通过 15 个示例介绍了默认绑定规则和隐式绑定规则。我们了解了函数内部的“this”如何随着函数调用方式的不同而发生改变。最后,我们也介绍了箭头函数以及它是如何进行词法绑定。我希望你...
2018-08-07 16:10:03 143
转载 this从溺爱到‘失宠’
Example #1function foo() { console.log(this); bar(); }function bar() { console.log(this); baz(); }function baz() { console.log(this); }foo();复制代码你被难住了吗?为了测试,你当然可以把这...
2018-08-07 13:47:01 141
转载 Event loop 机制简介
堆、栈、队列堆 堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。 ...
2018-07-26 11:03:28 376
转载 es6 继承
1. 关于class的本质定义一个类class Person{ constructor(skin,language){ this.skin=skin; this.language=language; } say(){ console.log('I am a Person') }}由于class本质还是...
2018-07-26 10:42:52 624
转载 js继承,这次把你吃透
类我们来回顾一下ES6 / TypeScript / ES5类的写法以作对比。首先,我们创建一个GithubUser类,它拥有一个login方法,和一个静态方法getPublicServices, 用于获取public的方法列表:class GithubUser { static getPublicServices() { return ['login'] ...
2018-07-26 10:40:22 6434 3
转载 Vue 问题及解决办法
最近要求使用vue进行前后端分离开发微信公众号,不断摸索踩坑之后,总结出如下几点vue项目开发中常见的问题及解决办法。如果你是vue大佬,请忽略小弟的愚见^V^列表进入详情页的传参问题。本地开发环境请求服务器接口跨域的问题API接口的统一管理UI库的按需加载如何优雅的只在当前页面中覆盖ui库中组件的样式定时器问题rem文件的导入问题Vue-Awesome-Swiper基本能解决你...
2018-07-25 16:04:47 620
转载 Vue-Router导航守卫
有的时候,我们需要通过路由来进行一些操作,比如最常见的登录权限验证,当用户满足条件时,才让其进入导航,否则就取消跳转,并跳到登录页面让其登录。为此我们有很多种方法可以植入路由的导航过程:全局的, 单个路由独享的, 或者组件级的,推荐优先阅读路由文档全局守卫vue-router全局有三个守卫:router.beforeEach 全局前置守卫 进入路由之前 router.before...
2018-07-24 15:24:33 591
转载 Vue 使用中的小技巧
在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发。下面有一些我在日常开发的时候用到的小技巧,在下将不定期更新~1. 多图表resize事件去中心化1.1 一般情况有时候我们会遇到这样的场景,一个组件中有几个图表,在浏览器resize的时候我们希望图表也进行resize,因此我们会在父容器组件中写:mounted() { s...
2018-07-24 13:49:34 298
转载 JS 中可以提升幸福度的小技巧
1. 类型强制转换1.1 string强制转换为数字可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判断是否为NaN,因为 NaN !== NaN'32' * 1 // 32'ds' * 1 // NaNnull * 1 /...
2018-07-24 11:44:25 143
转载 Vue2.0 Vue.set的使用
这里我定义了一个列表数据,我将通过三个不同的按钮来控制列表数据。首先在列表中动态新增一条数据:<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head&
2018-06-22 08:48:28 185
转载 jsonp
一、JSONP的诞生首先,因为ajax无法跨域,然后开发者就有所思考其次,开发者发现, 标签的src属性是可以跨域的把跨域服务器写成 调用本地的函数 ,回调数据回来不就好了?json刚好被js支持(object)调用跨域服务器上动态生成的js格式文件(不管是什么类型的地址,最终生成的返回值都是一段js代码)这种获取远程数据的方式看起来非常像ajax,
2017-12-14 09:32:48 220
转载 Vue过渡的应用及技巧
Vue中提供了和来为元素增加过渡动画。文档写的很清楚,但是实际使用起来还是费了一番功夫。这里做一个简单的记录: 单个过渡使用元素把要过渡的部分包裹起来,不会在DOM中渲染出来,只是做一个标记。其中常用的属性主要是: - name : 匹配相应的过渡类名,当没有name的时候默认为v-enter,v-leave-active等 - mode:控制离开/进入的先后顺序,out-in或者in
2017-12-07 15:29:10 243
转载 vue 使用Slot 分发内容
单个slot 除非子组件模板包含至少一个 插口,否则父组件的内容将会被丢弃。当子组件模板只有一个没有属性的 slot 时,父组件整个内容片段将插入到 slot 所在的 DOM 位置,并替换掉 slot 标签本身。 最初在 标签中的任何内容都被视为备用内容。备用内容在子组件的作用域内编译,并且只有在宿主元素为空,且没有要插入的内容时才显示备用内容。以下代码为 app.
2017-11-07 10:32:21 284
转载 深入理解移动端像素知识与Viewport知识
声明: 本人在网上看到如下地址的这篇博客时,对其中诸多概念的讲解特别欣赏,所以在此文将引用这些内容,如读者看到未标注引用地址的引用内容,均出自于此篇文档,在此也感谢这篇博客的作者的清晰讲解,让我受益无穷!!! 致歉:由于本人未及时记录所有参阅过的博客,故只能将其中部分博客地址列于文章最后,对其他参阅过但未列出地址的博客及其作者表示歉意。一 像素知识
2017-11-06 09:36:54 558
转载 最新版本sublime text3注册码
—– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D136 94D7F7D4 95BC8C1C 527DA828 560BB037 D1EDDD8C AE7B379F
2017-10-23 15:13:15 784
转载 better-scroll VS vue 纯干货
什么是 better-scrollbetter-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在这里。better-scroll 也很强大,不仅可以做普通的滚动列表,还可以做轮播图、picker 等等。better-scroll 的滚动原理不少同学可能用过 better-scroll,我收到反馈最多的问题是
2017-09-27 11:15:02 2133 1
转载 Flex 布局教程
你会看到,不管是什么布局,Flex往往都可以几行命令搞定。我只列出代码,详细的语法解释请查阅《Flex布局教程:语法篇》。我的主要参考资料是Landon Schropp的文章和Solved by Flexbox。一、骰子的布局骰子的一面,最多可以放置9个点。下面,就来看看Flex如何实现,从1个点到9个点的布局。你可以到codepen查看Demo
2017-09-20 08:41:09 477
转载 Vue2.0 探索之路——生命周期和钩子函数的一些理解
前言在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的。放大之,对vue的生命周期不甚了解。只知道简单的使用,而不知道为什么,这对后面的踩坑是相当不利的。因为我们有时候会在几个钩子函数里做一些事情,什么时候做,在哪个函数里做,我们不清楚。于是我开始先去搜索,发现vue2.0的生命周期没啥文章。大多是
2017-09-13 11:33:24 286
转载 Vue2学习笔记:事件对象、事件冒泡、默认行为
DOCTYPE html>html>head> title>title> meta charset="utf-8"> script src="http://unpkg.com/vue/dist/vue.js">script> script type="text/javascript"> window.onload = function(){
2017-09-08 09:30:54 342
转载 vue动画
在vue中,实现过渡动画一般是下面这样:transition name="fade"> div>div>transition>123用一个transition对元素或者组件进行封装. 在过渡的时候,会有 4 个(CSS)类名在 enter/leave 的过渡中切换。v-enter: 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。v-enter-act
2017-09-07 12:19:02 379
转载 better-scroll的参数和方法
格式:let obj = new BScroll(object,{[option1,],.,.});Options 参数startX: 0 开始的X轴位置startY: 0 开始的Y轴位置scrollY: true 滚动方向为 Y 轴scrollX: true 滚动方向为 X 轴click: true 是否派发click事件,通常判断浏览器派发的click还是b
2017-09-05 21:34:53 23074 1
原创 路径
alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'components': path.resolve(__dirname,'../src/components') }
2017-07-24 19:28:30 216
原创 手机端一像素解决办法
.border-1px { position: relative; }.border-1px:after{ content: ''; position: absolute; bottom: 0; left: 0; display: block; width: 100%; border-top: 1px solid #ccc;}
2017-07-24 19:25:52 519
转载 better-scroll插件初使用
模仿了一个饿了吗页面先上图,看一看better-scroll的效果如果用overflow:auto或scroll属性,这样的页面就会出现两个滚动条,用户体验会有折扣,所以给介绍一款插件better-scroll,附上github资源链接。这款插件是基于iscroll插件做的重新封装,改善了一些bug,增加了一些拓展功能(插件作者并不是本人,望周知),有兴趣的小伙伴们
2017-07-19 09:34:20 966
转载 vue2.0之axios使用详解(一)
axios基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 Node.js 中使用http://blog.csdn.NET/binginsist/article/details/65630547功能特性在浏览器中发送 XMLHttpRequests 请求在 node.js 中发送 http请求支持 Promise API拦截请求和响应转换请求和响应数据自动转
2017-07-17 23:46:48 323
转载 Vue2.0的改变
vue2.0-组件定义方式全局 script> var Home={ //这是2.0组件 template:'#aaa' }; //Vue.extend() Vue.component('my-aaa',Home); window.onload=function(){
2017-07-17 23:43:18 216
转载 Vue axios处理http请求
基本使用方法get请求// Make a request for a user with a given IDaxios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(
2017-07-17 23:38:36 736
原创 mongoose
mongo 使用数据库mongod 开机mongoimport 导入数据mongod --dbpath d:\xxxx列出所有数据库:show dbs use 数据库名字查看当前所在数据库db插入数据:db.stu.insert({});查找数据db.stu.find();删除数据库,删除当前所在的数据库
2017-07-14 12:18:44 240
原创 node解决跨域
app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-
2017-07-14 10:42:42 361
转载 前后端分离后的前端时代
什么是前后端分离 要区分前端和后端,需要有个明确的界限。一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了。你负责貌美如花,我负责赚钱养家在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的状态中,可以说是没有独立的“人格”可言。前端负责切图和编写静态页面模板,后端将数据渲染到前端提供的页面模板中,最后将页面渲染到浏
2017-07-13 18:20:23 393
转载 Vuex 模块化实现待办事项的状态管理
前言在vue里,组件之间的作用域是独立的,父组件跟子组件之间的通讯可以通过prop属性来传参,但是在兄弟组件之间通讯就比较麻烦了。比如A组件要告诉一件事给B组件,那么A就要先告诉他们的爸组件,然后爸组件再告诉B。当组件比较多,要互相通讯的事情很多的话,爸组件要管他们那么多事,很累的。vuex正是为了解决这个问题,让多个子组件之间可以方便的通讯。项目介绍待办事项中的一
2017-07-13 18:12:45 476
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人