日常工作知识点集合

1.git pull和git pull --rebase的区别

使用下面的关系区别这两个操作: git pull = git fetch + git merge

git pull --rebase = git fetch + git rebase www.cnblogs.com/kevingrace/…

2.vue中element-ui实现的slot分发和route路由

  <!--单个激活 并以 index 作为 path 进行路由跳转-->
    <el-menu unique-opened router v-show="!collapsed">
     <!--动态路由到子组件 将不可见的路径隐藏-->
     <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
       <el-submenu :index="index+''" v-if="!item.leaf">
         <!--用el ui 的title进行solt分发菜单-->
         <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
           <!--item.name和item.children.name来配置菜单栏和子菜单栏的名称-->
         <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>
       </el-submenu>
       <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>
     </template>
   </el-menu>
复制代码

3.vue中设置管道

Object.keys(filters).forEach(k => Vue.filter(k, filters[k]))
复制代码

Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

如果你想获取一个对象的所有属性,,甚至包括不可枚举的,请查看Object.getOwnPropertyNames。 developer.mozilla.org/zh-CN/docs/…

4.反向代理调用api

 env: require('./dev.env'),
    port: 8092,
    autoOpenBrowser: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/bdc-xapi': {
				target: '',
				changeOrigin: true,
				pathRewrite: {
					'^/bdc-xapi': '/'
				}
			},
    },
复制代码

5.token机制完成登录状态保持/身份认证

www.jianshu.com/p/8d28e60af…

6.nextTick

this.$nextTick(_ => {
          this.$refs.saveTagInput.$refs.input.focus();
        });
复制代码

this.$nextTick作用:在下次dom更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获得更新后的dom。

7.git操作指令

遇到npm install时出现需要配置环境变量的时候:

1.npm install fsevents
2.npm install -g [email protected]
3.npm install vueadmin??
4.clear
5.npm update
6.npm install

本地生成ssh公钥:

1.ssh-keygen.exe
2.ssh-keygen -t rsa -c "[email protected]" -b 4096
3.cat ~/.ssh/id_rsa.pub

mac中将gitLab代码拉取到本地:www.jianshu.com/p/e743e7bc1…

8.element-ui组件中方法调用问题

<el-input type="text" :placeholder="fileName" v-model="uploadForm.reNameTxt" @keyup.enter.native="reNameSuccess"></el-input>
复制代码

@keyup.enter.native多加了个native

关于keyup.enter.native blog.csdn.net/fifteen718/…

注意!!!如果用了封装组件的话,比如element,这个时候使用按键修饰符需要加上.native

!!当一个 form 元素中只有一个输入框时,在该输入框中按下回车应提交该表单。如果希望阻止这一默认行为,可以在 标签上添加 @submit.native.prevent ;

扫描二维码关注公众号,回复: 5143056 查看本文章

即@submit.native.prevent是用来阻止默认行为的 ;

9.docker文档

docs.docker.com/docker-for-…

10.相邻兄弟选择器 +

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。

12.command+T在mac上新打开一个终端

13.el-upload组件中的action路由问题

action中写调用接口的名字,可以手动上传,取消自动上传 (要研究一下路由怎么写)

14.对K8S做一了解和学习https://www.imooc.com/learn/978 。K8S在谷歌内部叫Borg1,就我知道,谷歌内部并没有停止对Borg的研发脚步,他们还有一套Borg2在研发中。??

15 vue中backgroundImage的写法

<div class="img2" :style="{backgroundImage: 'url(' + bg2 + ')' }"></div> blog.csdn.net/qq_35393869…

16 HTMLCollection的用法

取一个元素节点时会返回一个HTMLCollection对象 developer.mozilla.org/zh-CN/docs/…

18 研究一下vue的生命周期??

19. querySelector方法??

20.vue中绑定class的方法

blog.csdn.net/qq_38093702…

绑定style的方法 <img :src="logo" :style="{'display':isShowImg==true?'block':'none'}" />

21 upload组件上传后,怎么清除文件??

22 git命令操作

正常操作流程: git add . git commit -m '备注' git pull --rebase=》有冲突的话,解决冲突,然后git add . git rebase --continue git log查看是否拉下来代码 最后git push

git checkout .不需要的代码舍弃 git rebase --abort rebase进程中有问题时,可以中断进程,回到拉取代码前的状态

分支操作:

1.在本地dev上 git pull
2.git checkout -b fenzhi 创建分支
3.然后在本地写完代码后,git add .

git commit -m ''

4.然后切换到dev分支上 git checkout dev
5.然后拉取新代码 git pull
6.合并本地分支 git merge matianxiu
7.有冲突的话,修改冲突,然后git add . git commit -m ''
8.最后git push

在dev上删除分支是git checkout -D ''

gitignore文件中是上传文件时即使有修改也默认不上传的文件 ad.DS_Store node_modules/ dist/ npm-debug.log yarn-error.log .idea .DS_Store output dist.zi

可以在本地建立一个全局的git=>commit的template文件,这样在每次git commit时都沿用同一个前缀,用作区分提交是 研发还是修改bug,不用每次都看git commit -m '备注'备注中的内容

23 input框去抖动

在input框输入的时候,当我们监听input事件的时候,由于input事件是一旦输入框内容发生改变就触发我们绑定的回调函数,在实际当中我们往往会根据输入框内容去发送一些请求,这样一旦改变就触发无疑是耗时的,而且影响性能,这个时候,我们就可以使用防抖动。实现的大概思路就是我们可以自定义隔多长时间来触发我们的处理操作(例如ajax请求数据等)

var timer = null element.input = function () { var that = this clearTimeout(timer) // 每次进来的时候都将之前的清除掉,如果还没到一秒的时候就将之前的清除掉,这样就不会触发之前setTimeout绑定的事件, 如果超过一秒,之前的事件就会被触发下次进来的时候同样清除之前的timer setTimeout(function () { // 在这里进行我们的操作 这样就不会频繁的进行我们这里面的操作了 }, 1000) }

24 调接口时记住做异常处理判断

25 出现两个display为inline-block的元素上下错位的问题时,使用vertical-align:top

26 js数组的includes()

Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。该方法属于 ES7 ,但 Babel 转码器已经支持。

另外, Map 和 Set 数据结构有一个has方法,需要注意与includes区分。 Map 结构的has方法,是用来查找键名的,比如Map.prototype.has(key)、WeakMap.prototype.has(key)、Reflect.has(target, propertyKey)。 Set 结构的has方法,是用来查找值的,比如Set.prototype.has(value)、WeakSet.prototype.has(value)。

27.js数组的filter方法

filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素

28.vue的路由传参,子页面刷新保证参数不丢失

1.使用query:

this.$router.push({ path: '/NewsDetail', query: { newsUrl: url } })

2.在路由配置页面配置好,然后可以用params方法传

routes: [ { path: '/list/:id', name: 'list' } ]

this.$router.push({name:'list', params:{id: id}});

猜你喜欢

转载自juejin.im/post/5c346425f265da61120530ce