- 博客(65)
- 问答 (1)
- 收藏
- 关注
原创 mac安装MongoDB,及常见问题
mac使用brew安装mongodb,及常见问题一、使用brew安装$ brew update$ brew install mongodbbrew 默认将mongodb安装在 /usr/local/Cellar/mongodb下二、设置环境变量将mongodb/bin加入$PATH,以后直接输入mongod即可,不需要在进入到目录下export MONGO_PATH=/usr/local/Cel...
2018-02-23 11:30:06
4210
原创 使用Vue制作幻灯片
一、数据准备在页面中的幻灯片一般都会作为一个组件,由父组件将幻灯片组件需要的数据传入,数据slides如下:slides: [ { src: require('../assets/slideShow/pic1.jpg'), title: 'xxx1', href: 'detail/analys
2017-10-24 18:30:37
5566
转载 输入网址到网页显示的过程是什么?
从用户输入一个网址到网页最终展现到用户面前,中间的大致流程总结如下: 1) 在客户端浏览器中输入网址URL。 2) 发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址。 3) 客户端浏览器与WEB服务器建立TCP(传输控制协议)连接。 4) 客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP或HTTPS请求。 5) WEB服务器响应请求,返回指定的URL数据或错误信息;
2017-09-19 09:07:50
1686
原创 微信公众号中登录回到之前页面
开始时的思路在去到登录页时将本页的地址存到跳转的url中,然后在登录页中拿到之前页面的地址,登录成功后利用window.location.href再跳回之前的页面。遇到的问题微信自带的返回是返回到历史页面的上一个,也就是跳转到上面页面后,用户点击返回,就又回到了登录页。解决办法登录成功后不以window.location.href的形式跳转页面,而是直接 window.history.go(-1)返
2017-08-18 23:25:08
6861
转载 JS中的prototype
JS中的prototype文章出处:http://www.cnblogs.com/yjf512/JS中的phototype是JS中比较难理解的一个部分本文基于下面几个知识点:1 原型法设计模式在.Net中可以使用clone()来实现原型法原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。2 javascript的方法可以分为三类:a 类
2017-07-31 18:16:17
516
原创 面试题23:从上到下打印二叉树
剑指offer面试题23:从上到下打印二叉树题目描述:从上到下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 function Queue() { var items = []; this.enqueue = function(element) { items.push(element); }
2017-07-30 23:46:43
386
转载 js实现图片懒加载
js实现图片懒加载转载出处http://www.jianshu.com/p/4f6ea540516a现如今,网站载有的信息量越来越大,其中图片占据着很大一部分,这样一来可以使整个页以面图文结合的形式展现,更加美观。然而问题来了,如果是一个图片列表页,虽然好看,但是相关图片的加载要耗费非常长的时间,等待图片一格一格的加载,实在让人抓狂,如何优化此类页面呢?解决的方法有两种(笔者自己总结,欢迎在文章评论
2017-07-27 17:15:12
590
原创 面试题22:栈的压入、弹出序列
剑指offer面试题22:栈的压入、弹出序列题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 function Stack() { var items = []; this.push = function(element) { items.push(element); }
2017-07-22 00:00:11
546
原创 面试题21:包含min函数的栈
剑指offer面试题21:包含min函数的栈题目描述:定义栈的数据结构,请在该类型中实现一个能够的得到栈的最小元素的min函数。 function StackWithMin() { var m_data = [], m_min = []; this.peek = function(items) { return i
2017-07-21 14:37:23
364
原创 compass编译scss报错Invalid GBK character
compass编译scss报错Invalid GBK character在使用compass编译scss时有时会遇到Invalid GBK character的错误 解决方法1、在找到Ruby安装路径下的engine.rb(一般在\lib\ruby\gems\2.4.0\gems\sass-3.4.25\lib\sass)文件 将文件中的所有require句 的结尾加上Encoding.de
2017-07-18 10:25:31
888
原创 面试题20:顺时针打印矩阵
剑指Offer面试题20:顺时针打印矩阵题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印每一个数字。function PrintMatrixClockwisely(numbers, columns, rows) { if(numbers == null || columns <= 0 || rows <= 0) { return false;
2017-07-01 12:22:01
465
原创 面试题19:二叉树的镜像
剑指offer面试题19:二叉树的镜像题目描述:请完成一个函数,该函数输出二叉树的镜像 function BinaryTree(){ var Node = function(key){ this.key = key; this.left = null; this.right = null;
2017-07-01 11:19:13
402
原创 Vue实现表格的翻页显示功能
Vue实现表格的翻页显示功能先简单介绍下用到的变量含义及大致思路: 表格的tr是用v-for=(item, index) in data循环显示的 下面的显示数字页是用v-for=page in totlepage循环显示的 totlepage:一共的页数。也就是Math.ceil(数据的个数 / 每页显示的个数); page:表示第几页。也就是下面的数组1、2、3、4、5… curren
2017-06-29 18:52:59
4195
原创 Vue利用路由钩子token过期后跳转到登录页
Vue利用路由钩子token过期后跳转到登录页在Vue2.0中的路由钩子主要是用来拦截导航,让它完成跳转或前取消,可以理解为路由守卫。 分为全局导航钩子,单个路由独享的钩子,组件内钩子。 三种 类型的钩子只是用的地方不一样,都接受一个函数作为参数,函数传入三个参数,分别为to,from,next。 其中next有三个方法 (1)next(); //默认路由 (2)next(false
2017-06-26 09:20:20
15440
1
转载 github中添加公钥
这个应该是很多github新手经常出错的问题,这个就是没有在你github上添加一个公钥。下面就直接说步骤:1 可以用 ssh -T git@github.com去测试一下 图上可以明显看出缺少了公钥2 直接上图 3. cat 一下 把出现的key 复制下来 4 .在github上添加刚刚生成的公钥 转载地址http://www.cnblogs.com/qcwblo
2017-06-22 14:49:19
738
原创 Vue中保存用户登录状态
首先我们假设,这里的登录组件(register.vue)是App.vue组件的子组件,是通过路由进入登录组件的。 登录组件中用户点击登录后,后台会传过来一个用户名,我的App.vue组件中需要拿到这个用户名,并将上面的“登录注册”字样变为“用户名”。 为了保证用户刷新后用户名不会消失,这里我用到了sessionStorage代码如下: register.vue中用户点击登录触发signIn方法
2017-06-05 15:49:40
38313
1
原创 vee-validate的使用个人小结
vee-validate的使用个人小结学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则。英文文档可能会有不理解的地方,推荐大家看这篇博客下面来简单总结一下我的使用:一、安装npm install vee-validate@next --save后面加@next是为了安装vue2.0的版本二、引入我使用的是vue-cli脚手架工具,需要在main.js中import
2017-06-03 16:22:22
17349
2
原创 Vue实现点击后文字变色切换
Vue实现点击后文字变色切换这里用文字举例,图片切换的原理也是一样的大概思路是:用两个class相同的span分别是切换前后的文字,class相同主要是为了变换前后的文字位置相同。然后用click事件控制它们的显隐。代码如下:HTML:<span class="response" v-show="!showCommentInput" @click="showCommentInput = !showC
2017-06-02 15:31:20
22886
1
原创 JS实现并集,交集和差集
JS实现并集,交集和差集 var set1 = new Set([1,2,3]); var set2 = new Set([2,3,4]);并集let union = new Set([...set1, ...set2]);交集let intersect = new Set([...set1].filter( x => set2.has(x)));差集let difference =
2017-06-02 11:29:27
3160
1
原创 使用ES6的Set去除数组的重复元素
使用ES6的Set去除数组的重复元素方法一Array.from()方法可以将Set结构转化为数组结构function dedupe(array) { return Array.from(new Set(array));}dedupe([1,2,3,3]);方法二扩展运算符(…)内部使用for…of循环let arr = [1,2,3,3];let unique = [...new Set
2017-06-02 11:13:39
11288
原创 JS实现二叉搜索树
function Tree(){ var Node = function(key) { this.key = key; this.left = null; this.right = null; } var root = null; //插入结点 thi
2017-05-30 15:03:30
465
原创 面试题16:反转链表
剑指Offer面试题16:反转链表(JS实现)题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点 function LinkList() { var Node = function(element){ this.element = element; this.next = null;
2017-05-30 11:58:04
451
原创 面试题15:链表中的倒数第k个结点
剑指Offer面试题15:链表中倒数第k个结点题目描述:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始他们的值依次是1,、2、3、4、5、6,这个链表的倒数第3个结点是值为4的结点。 function LinkList() { var Node = function(ele
2017-05-30 11:17:55
444
转载 如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
原文链接使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要修改的是build/webpack.base.conf.js,修改两处的代码// 在开头引入webpack,后面的plugins那里需要var webpack = require('webpack')// resolvemodule.exports = { // 其他代码... reso
2017-05-28 19:21:23
973
原创 面试题14:调整数组顺序使奇数位于偶数前面
剑指Offer面试题14:调整数组顺序使奇数位于偶数前面(JS实现)题目描述:输入一个整数数组,,实现一个函数来调整该数组中数组的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 function ReorderOddEven(arr){ var len = arr.length, begin = 0
2017-05-28 12:06:36
482
原创 JS平滑效果实现回到顶部
JS平滑效果实现回到顶部最近用Vue做的小项目中需要实现回到顶部的效果。主要思路就是: 利用document.documentElement.scrollTop || document.body.scrollTop获得滚动条的位置,然后利用window.scrollTo()每隔一秒向上滚动一点,从而实现平滑滚动的效果。主要代码如下: toTop(){ var gotoTop=
2017-05-28 11:39:45
4447
原创 Vue模拟数据,实现路由进入商品详情页面
Vue模拟数据,实现路由进入商品详情页面一、路由首先需要配置路由,就是点击good组件进入goodDetail组件 配置路由如下 { path: '/goodDetail', component:goodDetail }同时在good组件中写入如下点击事件,路由中加入查询参数,也就是商品的id//点击路由到商品详细信息页 selectGood(){
2017-05-27 10:24:39
13053
1
原创 Vue实现动态显示textarea剩余文字数量
Vue实现动态显示textarea剩余文字数量这里我们假设允许用户输入的最多数量为200个 html代码如下:<textarea maxlength="200" @input="descInput" v-model="desc" /><span>{{remnant}}/200</span>javascript代码如下:data(){ return{ remnant: 20
2017-05-22 12:27:14
2666
转载 vue移动端裁剪图片结合插件Cropper的使用
之前写了一个上传头像的功能模块,以下的内容是描述上传头像过程中裁剪图片插件结合vue的一个使用。 当然,使用就安装 npm install cropperjs 接着再引入 import Cropper from ‘cropperjs’ 下面是源码<template> <div id="demo"> <!-- 遮罩层 --> <div class="co
2017-05-21 17:54:47
2226
原创 面试题13:在O(1)时间删除链表结点
剑指Offer面试题13:在O(1)时间内删除链表结点(js)实现题目描述:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 //链表 function LinkList(){ var Node = function(element) { this.element = element; this
2017-05-21 17:49:46
295
原创 面试题11:数值的整数次方
剑指Offer面试题11:数值的整数次方(js实现)题目描述:实现函数Power(base, exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数的问题 function Power(base, exponent) { //如果底数为0并且指数小于0报错 if(equal(base, 0.0) && exponent < 0)
2017-05-21 17:43:28
329
原创 面试题10:二进制数中1的个数
剑指Offer面试题10:二进制中1的个数(js实现)题目描述:请实现一个函数,输入一个整数,输出该二进制表示中1的个数。可能引起死循环的解法 function NumberOf1(num) { var count = 0; while(num) { if(num & 1) { count++;
2017-05-21 17:39:06
665
原创 面试题9:斐波那契数列
剑指Offer面试题9:斐波那契数列(js实现)题目描述:写一个函数,输入n,求斐波那契数列的第n项.递归 //过多的重复计算 function fibonacci(n) { if(n === 0) return 0; if(n === 1) return 1; return fibonacci(n-1) + fibonacci(n-2)
2017-05-21 17:31:42
446
原创 面试题8:旋转数组的最小数字
剑指Offer面试题8:旋转数组的最小数字(JS实现)题目描述: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1//indexMin初始化为index1是为了防止将排序数组的前面0个元素搬到最后面//即排序数组本身 func
2017-05-21 17:27:26
346
原创 解决<input>中accept="image/*"反应慢的问题
解决<input>中accept=”image/*”反应慢的问题最近写的小项目中需要用到用户上传图片的功能,第一反应想到的就是<input type="file" accept="image/*" />用accept限制用户只能选择文件中的图片文件,但是,我发现点的时候经常没反应,我多点几下,过一阵才会接着都蹦出来。用户体验极差!原来是这样写过滤起来太慢了,可以改成这样<input type="fi
2017-05-20 16:45:12
644
原创 解决<input>中accept="image/*"反应慢的问题
解决<input>中accept=”image/*”反应慢的问题最近写的小项目中需要用到用户上传图片的功能,第一反应想到的就是<input type="file" accept="image/*" />用accept限制用户只能选择文件中的图片文件,但是,我发现点的时候经常没反应,我多点几下,过一阵才会接着都蹦出来。用户体验极差!原来是这样写过滤起来太慢了,可以改成这样<input type="fi
2017-05-20 16:45:02
3452
原创 Vue.js中实现通过一个dom的事件,使得另一dom也触发事件
Vue.js中实现通过一个dom的事件,使得另一dom也触发事件最近做的项目中要求用户点击搜索按钮进入一个搜索界面,同时按下确认键也要进入搜索界面,这里我进入搜索界面时使用的是路由html代码如下<input type="text" class="inputText" v-model="searchText" /> <router-link to="/search" class="search_i
2017-05-17 17:54:14
7068
原创 Vue.js鼠标悬浮更换图片
Vue鼠标悬浮更换图片最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样: 这个在jQuery中是个很简单的事,但是在vue中我还是第一次实现。首先将所有的选中后图片都覆盖到没选中图片上html代码如下 <ul> <li> <a href=""> <img src="../../..
2017-05-17 12:12:58
8657
2
原创 Angular4中的输出属性
Angular4中的输出属性当子组件需要向父组件传递信息时需要用到输出属性。 举个栗子:当我们从股票交易所获得股票的实时价格时,希望外部也可以得到这个信息。为了方便,这里的实时股票价格我们通过一个随机数来模拟。这里的子组件我们叫它app.price.quote使用EventEmitter从子组件向外发射事件price.quote.tsexport class PriceQuoteComponent
2017-05-11 17:06:23
2388
2
原创 Angular4的输入属性
输入属性通常用于父组件向子组件传递信息 举个栗子:我们在父组件向子组件传递股票代码,这里的子组件我们叫它app-order 首先在app.order.component.ts中声明需要由父组件传递进来的值order.component.ts...@Input()stockCode: string@Input()amount: string...order.component.html<p
2017-05-11 16:40:22
4145
3
空空如也
为什么safari不能用Promise获取数据?
2017-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人