git
1.a创建版本库 mkdir 文件夹 b cd文件夹名 c pwd 当前文件路径
2.初始化仓库 git init 看不见.git 目录 ls -ah显示
3.git add file添加文件 git commit -m "注释"
4.安装后进行的全局配置 git config --global user.name"" git config --global user.email ""
5.git status 查看仓库的状态
6.git diff file 查看文件做过的更改
7.git log查看历史记录 git log --pretty=oneline 变成一条线查看历史记录
8.版本回退 git reset --hard HEAD^回退到上一版本 git reset --hard HEAD~100 回到一百版本之前 git reset --hard 版本号 会到哪一个版本
9.查看文件内容 cat file
10.git reflog 查看历史的每一次命令
11.查看与版本库的不同 git diff HEAD --file查看工作区与版本库的不同
12撤销修改 git checkout --file撤销工作区的修改
13撤销暂存区的修改 git reset HEAD file 撤销暂存区的修改
14删除工作区的文件 rm file
15删除暂存区的文件 git rm file 要提交 git commit -m "" 删除错误的话 git chekout --file
16远程仓库 ssh加密 ssh-keygen -t rsa -C "youremail" 获取秘钥
17.git remote add origin 仓库地址
18本地分支推送到远程 git push -u origin 分支名 -u本地分支与远程分支相关联
19.从远程仓库克隆 git clone仓库地址
20.ls 查看当前目录下的文件
21.创建并切换到分支 git chekout -b 分支名
22.创建分支 git branch
23.切换分支 git chekout分支
24git branch 查看分支
25git merge 分支名 合并分支到当前分支
26.删除分支 git branch -d 分支名 强制删除分支 git branch -D 分支名
27.分支管理策略不要强制的合并 git merge --no-ff -m "" 分支名
28.工作区暂时的储存 git stash 开启 git stash pop
29.查看远程仓库的信息 git remote /git remote -v
30.推送分支到远程 git push origin 分支名
31.提交之前要抓取分支最新变化 git pull
32.如果有错误的话 要把本地分支与远程分支建立连接 git branch --set-upstream-to=origin/分支名 分支名
33.打标签 版本号 git tag 标签名
34git show 版本号 查看当前版本号
35版本号注释 git tag -a “版本号” -m ""
36推送标签到远程 git push origin 版本号 git push origin --tags
37删除版本号 git tag -d 版本号
38.git push origin:refs/tags/版本号
vue
1.更改data
vue.set(target,key,value)
vue.delete(target,key)
2.注册全局指令
vue.directive('指令',{
bind:function(){},inserted:function(){} 绑定/插入
})
vue.filter('名字',function(){})
3注册全局组件 vue.component('选择器',function(){})
vue.use()被同一插件调用多次只会调用一次 被安装一次
4访问数据对象 vm.$data 访问原始数据对象
5$watch 键观察对象的表达式 值回调函数
6#el已有dom元素做为挂载目标
7vm.$mount 手动开启编译
8render函数 字符串模板替代方案
9beforeCreate实例初始化之前
created实例创建后立即调用 实例创建后立即调用
beforeMount 挂载开始之前 相关render首次被调用
mounted 挂在
beforeUpdate 数据更新时 发生在dom前 可以手动移除已经添加的事件监听
update
beforeDestry
destoryed
10.actived keep-alive组件激活时使用 deactived 组件停用时使用
数据劫持 object.definedProperty getter/setter
11.添加响应数据 vue.set(target,key,value) this.$set(target,key,value)
12.赋值多个新属性 Object.assign() 从后往前
13异步更新队列 Vue.nextTick(callback)
14导出多个变量的方法 export default {
return { obj1,obj2}
}
import {obj1,obj2} from ''
15 $attr 父作用域中不作为props被识别绑定的属性 style class除外
vueX
state需要被mutations 提交 store.commit(mutations名字)
import {mapState} from vueX
伪数组转数组 Array.from(伪数组) 可用数组的属性方法
判断是否为空对象 Object.keys(obj).length=0
从子到父 $emit 推送 自定义事件 父通过自定义事件 执行
从父到子 绑定属性 子通过props接收
用vue-cli创建项目
1.npm install -global vue-cli
2.vue init webpack 项目名称
3cd 项目名 到下级目录
4下载依赖包 npm install
使用sass
npm install --save-dev sass-loader
npm install --save-dev node-sass
在style中使用sass
1 sass嵌套规则 #div { p{}}
2父选择器 div{ &:hover{}}
3属性嵌套 div{ font{size:; family:;weight:;}}
4占位符选择器 $width:50px; $width
5. @mixin borderwidth{border:1px solid red;} @include borderwidth
6.继承
定义: %parentwidth{border:1px solid red;color:green;width:400px;}
使用: @extend parentwidth
7.运算符 @if()@else{}
编程式导航
this.$route.push({path:'' ,query:'' params:})
push() repalce()
兄弟组件间传值
1新建一个空白js
import Vue from 'vue'
export default new Vue({})
2使用import common from '.js'
3common.$emit('事件',要传入的参数)
common.$on('事件',function(参数){})
导航底部横线左右活动 用伪类:last-child{}
element-ui 自定义表单校验
路由导航钩子 let router=new router({})
全局钩子 beforeEach afterEach
组件内钩子 beforeRouterEnter beforeRouterLeave beforeRouteUpdate
路由独享 routes:[{ path:''
beforeEach:()=>{} //to form next
}]
transitionGroup
1要绑定key
2appear 页面刚展示时的效果
3tag属性 指定transitiongroup要渲染为
flex布局
子无法继承父级的高度% 用定位
tween.js
npm install --save @tweenjs/tween.js
swiper
watchOverflow 只有一个时 是否显示左右的按钮 及可以滑动
on 注册事件
init() 初始化
preloadImages() 强制图片加载完成后
updateOnImagesReady() 所有图片加载完成
布局 centeredSlides slidePerView同时显示的数量 slidePerGroup
spacebetween中间的空隙
slideOffsetBefore
freemode是否贴合
preventClicks 阻止默认事件
slideClickedSlide 点击之后居中
过渡时无法滑动 preventInteractionOnTransition
设置不可触摸滑动的元素 noSwipingSelector/noswipingClass
allowSlideNext allowSlidePrev
swipeHandler只能拖动
监听器 observe 可以监听observeParent observeChild
swiper改动时自动初始化
事件
init touchStart slideChangeTransitionEnd imagesReady updateOnImageReady
transitionEnd reachBeginning 初始化时执行 getTranslate setTransition getTranslate
activeIndex realIndex
重写参数 myswiper.params.speed=
changeDirection 更改滑动方向
disableOnInteraction
对象无序 键:字符串 值:任意数据类型
动态语言 静态语言
函数内 变量没有var的话 默认变成全局变量
多行字符串`` 反引号
string
字符串不可通过对索引的赋值 复制
字符串方法 返回新的字符串
toUperCase toLowerCase indexOf lastIndexOf substring(开始,结束)
array
indexOf slice(开始,结束)无参 从开始到结束都截取
push从后添加 pop从后删除 unshift从前面添加 shift 从前面删除
sort reverse splice(开始,删除几个,替换成1....)
concat(arr1,arr2) join('规则')
对象
键名不是一个有效的变量 动态类型 hasOwnProperty
0 false NaN null undefined 空字符串
map 解决键名为字符串 var map=new Map([key,value])
set has get delete 二维数组
iterable可迭代 可用for of 循环
变量作用域 所有变量绑定到全局变量中
解构赋值 忽略某些值
变量已声明再解构会报错 要用括号包 var x ({x}={x:1,y:2})
交换两个变量 [x,y]=[y,x]
apply(target,参数) apply会把参数打包
call(target,......)
函数都可指向某个变量 一个函数可接受另一个函数为参数
reduce不包括被删除 但从未被赋值参数
把结果与下一个元素的累积计算
arr.reduce arr.includes
arr.map 映射 arr.filter() 过滤