- 博客(27)
- 收藏
- 关注
原创 vue-router源码分析
//mrouter文件夹下的index.js文件let Vue;class Mrouter{ static install(_Vue){ Vue = _Vue; Vue.mixin({ beforeCreate() { //启动路由 if(this.$options...
2019-07-16 16:21:33
186
原创 在vue-cli项目中使用element-ui打包后图标地址报错
在使用vue-cli搭建项目的时候,用了element-ui组件库的图标的,使用npm run build打包项目放到服务的时候,这时候图标地址就会报错需要在项目build文件夹下的utils.js文件中加上这行就可以了...
2019-06-13 16:35:22
1618
1
原创 element-ui表单组件数据初始化让每一行是否选中
首先要在created生命周期函数里获取到表格数据。表格数据肯定是数组,数组下有多少个对象就有多少行,在每一个对象里面都有一个属性selected(名字随便)来控制这一行是都已经是选中状态this.tableData.forEach(row=>{ //循环这个表格数据 if(row.selected == 1){ //当这个对象里的selected为1时代表选中状态 ...
2019-06-05 16:16:17
1157
原创 vuex+本地储存登录
//在登录页面进行登录,跟后台进行对接,登录成功的时候提交一个mutations保存后台返回过来的登录信息let user = { token : 'token', name : 'cher'}this.$store.commit('addUser',user);//在store文件夹的index.js下import Vue from 'vue';import ...
2019-05-31 17:05:20
1058
原创 npm命令实现
npm命令实现/** * 注册npm账号 * 然后在电脑上命令行登录 : npm lodin / npm adduser * 发布项目 :当前项目目录 => npm publish */ const commander = require('commander'); //设置当前命令的版本 //第一个参数是版本,第二个参数可选,默认设置版本使用的是-V,可以使用第二个...
2019-05-22 16:21:00
208
原创 node模块化
node模块化// exports 是一个空对象,exports并不是全局的,每个模块都有这个对象 例:exports.a = 1;//require() => module.require();方法的返回值就是module.exports对象/** * 一个文件是一个模块,每个模块中都有一个内置的对象 : module * 该对象提供了包括当前模块文件所拥有的一些信息 ...
2019-05-21 15:31:00
100
原创 数据劫持,订阅者模式,双向绑定
数据劫持,订阅者模式,双向绑定//index.html文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"...
2019-05-17 17:42:00
435
原创 正则表达式
正则表达式//正则默认:匹配成功就会结束匹配 (如果想全部查找加标识 g),不区分大小写 (如果想区分大小写 加标识 i)//1.test : 正则去匹配字符串,如果匹配成功返回真,匹配失败返回假; 正则.test(字符串)//2.search : 正则去匹配字符串,如果匹配成功就返回匹配位置,否则就返回 -1; 字符串.search(正则)//3.match : 正则去匹配...
2019-05-17 15:33:00
81
原创 Event自定义事件
Event自定义事件//index.html文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">...
2019-05-16 15:22:00
545
原创 ES5继承
ES5继承/** * 继承大体分为俩种: * 构造函数继承 * 原型继承 * - 拷贝继承 * -深拷贝 * -浅拷贝 * - 原型链继承**/ function Person(name,age){ this.name = name; this.age = age} Person.prototype.sayName = f...
2019-05-16 15:20:00
110
原创 Vuex状态管理模式
Vuex状态管理模式Store:类似容器,包含应用的大部分状态,一个页面只能有一个store,状态存储是响应式的State : 包含所有应用级别状态的对象Getters : 在组件内部获取store中状态的函数Mutations : 唯一修改状态的事件回调函数Actions : 包含异步操作,提交mutation改变状态Modules : 将store分割成不同的模块...
2019-02-26 10:49:00
130
原创 vue-router的使用
vue-router的使用重定向与别名如果用户在地址栏访问的地址不在路由配置里面:别名:当地址栏访问的是别名的时候,也会匹配到改路由,但是路由不会是激活状态router-link配置项路由激活状态设置样式:默认的类名是router-link-active1:在路由配置里有个属性linkActiveClass,属性值为你想要激活的类名,然后用这个类名来设置...
2019-02-26 10:38:00
198
原创 DOM操作
DOM操作DOM是文档对象模型 : 就是document提供了一些API赋予开发者操作页面的能力节点类型 : childNodes : 某个节点下的所有子节点、类数组children : 不是标准的属性,但是所有浏览器都支持,找到某个元素下的所有元素子节点parentNode:查找某个元素的父节点nextElementSibling : 上一个兄弟节点p...
2019-02-26 10:11:00
96
原创 js练习题
js练习题1.var i = 0,j = 0;for(;i<6,j<10;i++,j++){ k = i + j;};console.log(k); //18,逗号运算符只看最后一个运算2.fn1();var fn1 = function(a){ alert(a); } //fn1 is not a function//变量域解析,...
2019-01-13 16:07:00
204
原创 Js拾忆
Js拾忆instanceof运算符:他是判断一个构造函数的prototype是否在对象的原型链上查找到var a = new Array();console.log(a instanceof Array) //true//a.__proto__ == Array.prototype//如果a不是对象将返回false//如果右边不是构造函数将报错箭头函数注意点,当箭...
2018-12-27 10:30:00
139
原创 HTML和CSS查缺补漏
HTML和CSS查缺补漏margin的问题:1.margin-top向上传递解决:1.父元素border边框,2.父元素使用overflow:hidden3.为父元素或者子元素声明绝对定位,4.为父元素或者子元素声明浮动2.margin上下叠压解决1.使用margin给其中一个元素加预想的margin值2.没有特殊情况的话,使用padding代替块元素的特征:1.默认独占一行...
2018-12-13 16:32:00
155
原创 Vue组件通信
Vue组件通信1.父元素给子元素传值:使用自定义属性,子组件使用props接收2.子元素给父元素传值使用$emit,父元素使用自定义函数接收3.provide和inject4.事件总线eventBus5.$dispatch和$boardcast//向上传值Vue.prototype.$dispatch = function(eventName,data){ let ...
2018-12-06 16:52:00
106
原创 git命令
git命令git status : 查看状态git log : 查看操作日志git clone <url> : 从github上克隆仓库到本地git add <file.name> : 文件从工作添加到暂存区git add . : 提交所有文件从工作区到暂存区git commit -m "注释" : 从缓存区提交到版本区git commit -a -m "注...
2018-10-26 15:32:00
177
原创 js实现bind方法
js实现bind方法//目标函数function fun(...args) { console.log(this); console.log(args);}//目标函数原型对象上的一个方法cherfunc.prototype.cher = function () { console.log(1);}//bind传入参,一个是要改变this指向的对象,...
2018-10-19 11:43:00
200
原创 Js原生封装选项卡组件
Js原生封装选项卡组件class MyTab extends HTMLElement{ //创建一个类名MyTab constructor(){ //构造函数 super(); //指向父类构造函数,必须要有的 const shadow = this.attachShadow({ //影子dom mode : 'open'...
2018-10-15 17:45:00
522
原创 Promise使用
Promise使用Promise可以进行异步操作,比起回调函数,更加容易维护。首先创建一个简单的Promisevar p = new Promise( () => {});console.log(p); //会打印一个promise对象,状态是pending,状态值是undefined如果Promise构造函数里没有参数将会报错promise有三个状态...
2018-09-29 15:52:00
340
原创 理解闭包
理解闭包闭包是创建一个函数的时候允许在这函数里可以访问并且操作函数之外的变量所创建的作用域。随处可见的闭包var name = 'cher'; //一个全局变量function fn() { //声明一个全局函数 console.log(name); //cher 在这个函数里面访问外面的全局变量}fn();//在这函数里面可以访问到函数外的变量形成了简单的闭...
2018-09-25 15:46:00
79
原创 nodeJs的Buffer操作
nodeJs的Buffer操作再nodejs里,很多类是引入模块才能使用,Buffer是一个全局类,他不需要require引入Buffer有三种构造函数//1.在构造函数传一个数字,规定buffer的长度。默认全是16进制的0var bf = new Buffer(size);//2.传一个数组给buffervar bf = new Buffer(array]);//3....
2018-09-17 16:40:00
620
原创 整理this笔记
整理this笔记1.在浏览器全局环境中this指向的是Windowconsole.log(this); //Window2.在事件处理函数中的this,这个事件是由谁触发,this就指向谁3.直接执行一个函数的时候在非严格模式下this指向的是Window,而在严格模式下是undefinedfunction fn1() { "use strict" ...
2018-08-28 18:13:00
106
原创 ES6的小知识(后半部分)
ES6的小知识(后半部分)一、iterator和for-of循环在js里有数组和对象,es6又新出现了set和map这样js就有了四种数据集合,这样可以组合使用他们,比如数组里拥有对象,set等,这样就需要一个统一的接口机制来处理不同的数据结构,iterator就是这样的接口,它为不同的数据结构提供统一的访问机制,任何数据结构只要部署iterator接口就可以遍历操作他们,并且it...
2018-08-20 15:25:00
88
原创 封装axios在vue-cli项目中便捷使用
封装axios在vue-cli项目中便捷使用首先创建一个vue-cli搭建起来的vue项目这个不用多说了。安装axios,使用npm install axios --save命令安装依赖,这时候项目的package.json文件中的"dependencies"属性会有个"axios"和它的版本号就说明安装成功了接下来就在项目中的src下面的assets文件里创建一个js文件夹,...
2018-08-14 14:51:00
325
1
原创 ES6的小知识(前半部分)
ES6的小知识(前半部分)一、let与const的使用let:用来声明一个变量,与var类似1.用let声明的变量,所声明的变量只在命令所在的代码块内有效function hander(){ let a = 10; console.log(a); }hander(); //10console.log(a); //报错未定义 ...
2018-08-13 17:40:00
92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人