自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 vue.js开发总结(持续更新中~)

1.VUE 路由变化页面数据不刷新问题问题描述:(知乎项目)新闻板块有推荐、精华、最新等几个Tab,设想通过切换Tab,改变路由参数(get/news/:tab)去获取对应数据,然后渲染到页面(用的是同一套组件),问题来了:当切换Tab时,数据并没有更新原因:提醒一下,当使用路由参数时,例如从/user/foo导航到user/bar,原来的组件实例会被复用。因为两个路由都渲染同...

2019-05-12 22:31:32 3600 16

原创 小程序与vue.js有哪些不同?

前言总结得较完善,文章很长,请备好瓜子观看~1.生命周期小程序:onLoad:页面加载一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。onShow:页面显示每次打开页面都会调用一次。onReady:页面初次渲染完成一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如 wx.setNa...

2019-05-12 21:59:40 1663

原创 移动端开发总结

移动端开发与pc端开发不同移动设备与PC设备最大的差异在于屏幕,这主要体现在屏幕尺寸和屏幕分辨率两个方面。通常我们所指的屏幕尺寸,实际上指的是屏幕对角线的长度(一般用英寸来度量)如下图所示而分辨率则一般用像素来度量 px,(像素是一个相对长度单位(像素并没有固定的长度))表示屏幕水平和垂直方向的像素数,例如1920*1080指的是屏幕垂直方向和水平方向分别有1920和1080...

2018-03-27 22:50:17 604

原创 小程序优化安卓机发送请求时加载框闪现

前言小程序自带的有loading框,我们可以在再封装wxRequest方法,使当请求回调之前显示loading框,请求结束隐藏loading框,但是最近业务中发现了一个问题,当页面加载需要在时间段内调用多个请求时,会造成loading框闪现,所以我们现在要来解决的是,当一个页面很多请求的时候,如何当第一个请求开始时显示loading, 当所有请求完成时再关闭loading?初步实...

2019-08-23 13:33:15 386

原创 实现图片自动居中裁剪

问题描述:由于后台返回图片的大小不一致,但是前端要求把他们展示成大小一致且不变形。小程序使用mode:aspectFill但是如果是pc端和移动端。应该如何实现img标签图片的居中和自动裁切?问题解决:1. 非真正的裁剪---------》即只进行前端预览时裁剪1.1 使用css background(不推荐,因为不方便维护。当需要动态改变时需要去操作单...

2019-08-23 13:16:31 5287 1

原创 小程序制作海报,支持一键生成多张

1. 前言生成海报是小程序一项寻常普遍的低成本推广方式,在小程序中通过引导用户生成带有小程序二维码的海报发上票圈,来吸引更多的流量。2. 需求分析在与朋友圈类似的 带有文字描述 和 最多带有9张图片的 列表中,实现1/ 使用云开发,生成二维码2/ 点击图片,会根据图片的标签绘制对应模板的海报,3/将生成的海报图片进行预览,并提供“保存到本地", 增加用户拒绝授权...

2019-08-16 14:52:49 3469

原创 小程序新人领取优惠券

1. 前言在进行小程序开发过程中,涉及一个业务需求:新人领券。业务需求具体:在首页中添加有3种不同的弹窗:立即领取A, 现有优惠券列表B,登陆/注册C,和提示领券的浮窗A 为了不影响用户体验,弹窗A/C都要求一周内最多只能弹出3次,且相邻两次弹窗的时间间隔必须超过3小时,弹窗B要求一周内最多只能弹出1次 在用户未登录/未领取到目标优惠券之前,将一直显示浮窗 此次领取失败时(...

2019-08-11 23:12:39 3120

原创 node文件读写+node执行python文件

一、node文件读写Node.js读取文件函数语法如下:1. 异步读文件fs.readFile(filename,[encoding],[callback(err,data)])filename(必选),表示要读取的文件名。 encoding(可选),表示文件的字符编码。 callback 是回调函数,用于接收文件的内容。示例:var fs=require('fs...

2019-06-08 21:31:29 1479

原创 阿里云ubuntu安装python3,pip3,gensim,jieba,nltk

一、安装python31.下载python安装包(python 3.6)wgethttps://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz2.将安装包移动到/usr/local 文件夹下mv Python-3.6.5.tgz /usr/local/3.在local目录下创建python3目录...

2019-06-08 14:49:16 736

原创 阿里云ubuntu部署nodejs项目

前言阿里云学生轻量应用服务器 ubuntu 部署nodejs项目1.安装node下载Node.js安装包。 wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz 解压文件。 tar xvf node-v6.9.5-linux-x64.tar.xz 创建软链接,您就可以在任意目...

2019-06-02 09:35:09 1343

原创 自定义轮播图组件样式

前言如果使用一个组件库的组件,如mint-ui的swipe组件,但indicators样式不想要默认的样式(简单的圆点),即自定义组件样式。解决思路1.重写样式。找到组件中原样式的名字,重写样式。像mint-ui中swipe indicator的样式为.mint-swipe-indicator.mint-swipe-indicator { width: 30...

2019-06-01 16:05:45 1197 1

原创 对vue的钩子函数的应用

前言了解vue的导航钩子对你构建项目很有帮助,很多开发中遇到的问题也会迎刃而解~针对钩子函数的一些应用1.组件复用时beforeRouteUpdatebeforeRouteEnter(to, from, next) { // 在路由独享守卫后调用 不!能!获取组件实例 `this`,组件实例还没被创建},beforeRouteUpdate(to, ...

2019-05-19 12:27:24 588

原创 前端攻击/web安全

1.XSS攻击跨站脚本攻击主要是通过html标签注入,篡改网页,插入恶意的脚本,前端可能没有经过严格的校验直接就进到数据库,数据库又通过前端程序又回显到浏览器会导致用户cookie信息泄露输入框嵌入<script>脚本 URL 嵌入<script>脚本 img 嵌入<script>脚本 $.append方法嵌入...

2019-05-17 10:52:43 426

原创 vue用递归的方式实现级联组件

前言根据百度前端技术学院2018 MVVM 学院中的 3.1 用递归的方式实现级联组件用 vue 实现的本文章的 github地址实现思路1. 组件复用(组件中复用自己)注意点:1.1需要有name(使用驼峰命名)name:'cascadePanel'<cascade-panel></cascade-panel>1.2需要有终止...

2019-05-17 10:21:26 2789 2

原创 vue-router底层实现原理

定义:vue用来写路由一个插件。包括 router-link、router-view 两个组件,其中 router-link 用于实现跳转,router-view 用于展示视图vue-router的两种模式hash模式hash模式背后的原理是onhashchange事件因为hash发生变化的url都会被浏览器记录下来,从而你会发现浏览器的前进后退都可以用了,同时点...

2019-05-17 10:09:44 5178 1

原创 vuex状态管理模式架构

vuex的原理:Vuex 全局维护着一个对象,使用到了单例设计模式。在这个全局对象中,所有属性都是响应式的,任意属性进行了改变,都会造成使用到该属性的组件进行更新。并且只能通过commit的方式改变状态,实现了单向数据流模式。state-> mutation-> action -> 更新渲染vuex的优点:最主要解决了组件之间共享同一状态(数据变量)...

2019-05-17 09:47:28 291

原创 vue双向数据绑定原理

前言这个解答可回答面试中 ① vue双向数据绑定原理 和 ② vue响应原理 问题基本原理vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。具体步骤:第一步:需要observe的数据对象进行递归遍历,包...

2019-05-17 09:30:51 329

原创 vue封装复选框组件

前言根据百度前端技术学院2018 MVVM 学院中的 2.5 表单实现Input、Checkbox组件用 vue 实现的checkbox复选框组件,使checkbox有三种状态: checked:ture (选中) / false (未选中) , indeterminate (部分选中)1.利用slot插槽2.在同一文件中用到父子通信 $emit $on本文章的 gith...

2019-05-16 23:55:20 2892

原创 用原生js实现移动端图片轮播

1.实现思路1.在首尾添加图片 1.在开始位置添加原始的最后一张图片 2.在最后位置添加原始的第一张图片2.修改页面结构3.修改对应的样式.jd_bannerImg{ width:1000%;}.jd_bannerImg > li{ width:10%; float: left;}4.设置默认的偏移:默认应该显示索引1的图...

2019-05-16 23:12:12 581

原创 js数组去重

数组是多种类型可以混合的[undefined,null,NaN,{},{},NaN,undefined,null]下面我们以一个带有重复元素的数组为例,总结下数组去重的4种方法:vararr=[1,2,2,3,3,4,4,5,5]1.将数组转化为set(集合带有去重特性) 再转为array//(4) [1, 2, 33, 4]var arr2 = [...

2019-05-16 22:45:03 188

原创 小程序开发总结(含真机调试问题~)

1. 真机调试获取不到数据问题描述:在模拟器上可以获取到数据,但是在真机调试获取不到数据解决:配置服务器request合法域名并且一定要记得取消勾选不校验合法域名2.服务器api返回的json字符串前面多了个空格问题描述:真机能够获取到了数据,但是返回的json字符串前面多了个空格原因:服务器有文件格式是utf-8 with bom ,应改成utf-8 无 bo...

2019-05-12 22:56:03 2754

原创 vue的nextTick原理

定义:根据官方文档的解释,它可以在DOM更新完毕之后执行一个回调// 修改数据 vm.msg = 'Hello'// DOM 还没有更新 Vue.nextTick(function () { // DOM 更新了})​使用场景vue中异步加载数据,数据更新 => dom更新后才能进行 scroll-better 的初始化操作。在Vue生命周期的cre...

2019-05-10 21:01:40 11478 1

原创 了解ajax工作原理及手写ajax

1.ajax工作原理工作原理:创建XMLHttpRequest对象,发送异步请求,提供网页加载后在后台与服务器进行通信的方法,可在不刷新页面的情况下获得新数据2.手写ajax原生代码手写原生ajax步骤:1.创建xhr对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp))2.判断数据传输方式(GET/POST)转换...

2019-05-10 14:04:23 304

原创 了解https机制,5分钟妥妥滴!

1.HTTPS相对于HTTP新增了哪些内容?HTTPS=HTTP+SSL\TLS(加密 + 认证 + 完整性保护)SSL: Secure Socket Layer 安全套接层TLS: Transport Layer Security 安全层传输协议HTTP本身的缺点:① 使用明文传输(不加密),内容容易被窃听② 对于通信的双方都没有进行身份验证,通信双方无法确认对方是...

2019-05-10 13:19:43 258

原创 阿里云ubuntu部署TP5项目

文章目录目录文章目录导语1.购买与配置阿里云服务器1.1 购买域名1.2 购买服务器1.3 域名实名认证1.4备案服务器2.在服务器中配置php开发环境2.1 下载 XShell 6,Xftp 62.2 先升级apt-get2.3 安装 MySQL2.4安装 Apache22.5 安装 php7.02.6 安装apache的php模...

2019-04-23 20:38:11 888 2

原创 NODEJS实战微博评论05_前台调用后台接口

2先完善我们的前端界面,加上评论展示根据上节课编写的接口文档, 在index.js 调用相应接口1.先编写index.html页面分成三个部分:1).提交评论 2).评论展示 3).页码展示1)提交评论用表单提交,若你在提交表单前,需要做表单验证,使用 ng-submit (这里不做表单验证)用法:ng-submit="expression" 若expression值为tru...

2018-11-04 19:46:12 791 1

原创 从输入url到页面渲染出来过程

1.浏览器与服务器的交互在浏览器输入url后的访问:URL的组成协议 域名 (有时候也是ip,) 端口号(数字表示,若为HTTP的默认值“:80”可省略) 路径(以“/”字符区别路径中的每一个目录名称) 查询参数(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)1....

2018-11-04 19:05:42 387

原创 NODEJS实战微博评论04_定义接口

在app.js中增添对路由规则的解析,当用户请求路径匹配到'/',到 routers目录下main.js中寻找相对应的接口定义注:路由规则,记得要放在静态资源文件托管设置语句之前!!理由//路由规则,记得要放在静态资源文件托管设置语句之前!!router.use('/', require('./routers/main'));同时,增加评论时用到的post,需要加载 body-pa...

2018-11-04 10:31:38 515

原创 NODEJS实战微博评论03_连接操作数据库

1.打开mongodb服务打开mongodb服务教程2.连接数据库MyWeibo,如果没有 MyWeibo 数据库,则会自动创建var mongoose = require('mongoose');// mongodb服务默认启动端口为27017// 连接到数据库 MyWeibo ,如果没有 MyWeibo 数据库,则会自动创建mongoose.connect('mongod...

2018-11-03 20:11:39 348

原创 NODEJS实战微博评论02_静态文件托管

启动服务后,将页面,样式,脚本用静态托管的方式引入app.use('/', express.static(__dirname + '/public'));修改后的app.js代码如下//加载express模块var express = require('express');//创建app应用var app = express();//设置静态文件托管//当用户请求的路...

2018-11-02 23:30:45 290

原创 app.use(express.static('目录'))静态资源文件

1.首先要理解什么是静态资源文件?通俗点来说,静态资源文件就是,不同用户访问到的都是同一份内容,不管是张三,李四,王五,访问到的内容都是一样的,// 静态资源文件张三呈现的是“你好”李四呈现的是“你好”王五呈现的是“你好”与其相对的,动态资源文件就是,随着访问用户的不同,呈现的内容也不一样。比如,// 动态资源文件张三呈现的是“你好,张三”李四呈现的是“你好,李四”...

2018-11-02 22:45:43 5559

转载 vue与react 区别

VUE和react区别相同点: 1.都支持服务器端渲染 2.都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 3.数据驱动视图 4.都有支持native的方案,React的React native,Vue的weex 5.都有管理状态,React有redux,V...

2018-11-02 20:54:53 329

原创 NODEJS实战微博评论01_项目介绍+启动服务

最终效果:1.若数据库中无评论时,显示“暂无评论”2.按照评论的逆序时间分页显示,每4条一页,当多于4条时,自动增加页数按钮,提交评论时,会自动跳转回第一页3.可对每条评论点赞或踩,将点赞,踩数据保存到数据库,刷新不变接下里,一步一步开始构建我们的项目1.安装好nodejs是构建项目的前提条件,安装的日期太久远了,找不到教程了,朋友们可自行百度,安装好后可在命令行用node...

2018-11-02 19:47:53 722

原创 Promise原理及手写Promise

原理:Promise 原理围绕以下三个问题进行解决:(有任何一步不了解的话请先往下看手写Promise,会一步步剖析原理,看完后再继续回顾这里!!)1. 怎么实现异步?Promise内部then函数注册(注意:不是执行)后续需要执行的函数,resolve函数执行。需要保证函数在执行前都已注册好,所以resolve内部执行函数的代码需要加入延时机制setTimeout(0...

2018-03-27 19:34:53 1422

原创 css预编译sass,less

sass,less是什么?css的预编译。把css当成函数编写,可以定义变量,嵌套,混合器安装sass使用的步骤/如何配置sass?一、安装对应依赖node模块:npm install node-sass--save-devnpm installsass-loader --save-dev二、配置webpack.base.config.js在loaders...

2018-03-27 18:23:35 537

原创 理解浏览器缓存机制就是这么简单!

为什么要用缓存?一般针对静态资源如CSS,JS,图片等使用缓存,原因如下:请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度。 节省带宽:对于已缓存的文件,可以减少请求带宽甚至无需请求网络。 降低服务器压力:在大量用户并发请求的情况下,服务器的性能受到限制,此时将一些静态资源放置在网络的多个节点,可以起到均衡负载的作...

2018-03-26 22:27:36 288

原创 Javascript dom0级和dom2级事件之间的区别

dom0级事件:绑定事件element.onclick=function(){}元素绑定同一类型事件时,后面的效果会覆盖前面的效果,如下代码,点击”点击“时,弹出框提示文字2,这表示,alert(2)覆盖了前面的alert(1)效果&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&...

2018-03-26 21:32:38 1570 1

原创 js设计模式

(1)单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现方法:先判断实例存在与否,如果存在则直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。适用场景:一个单一对象。比如:弹窗,无论点击多少次,弹窗只应该被创建一次。(2)发布/订阅模式定义:又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有...

2017-05-20 21:22:24 3852

原创 js事件循环机制

事件循环(Event Loop)在js的运行环境中,我们这里光说浏览器吧,通常伴随着很多事件的发生,比如用户点击、页面渲染、脚本执行、网络请求,等等。为了协调这些事件的处理,浏览器使用事件循环机制。事件循环机制js引擎遇到一个异步事件后并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行栈中的其他任务。当一个异步事件返回结果后,js会将这个事件加入与当前执行栈不同的另...

2017-05-20 21:18:36 1257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除