chokidar 监控文件变化
# 前言
我们平时在开发代码时,很多构建工具在我们保存本地代码时都可以做到实时上传或者实时刷新页面,那么大家有没有想过构建工具是如何做到的?
想做到这一点,就需要实时监听本地文件的增删改,掌握这些时机就可以做到在文件改变时热更新或者实时上传。
下面我们就来聊一聊如何监听本地文件的变动!
我们平时在开发代码时,很多构建工具在我们保存本地代码时都可以做到实时上传或者实时刷新页面,那么大家有没有想过构建工具是如何做到的?
想做到这一点,就需要实时监听本地文件的增删改,掌握这些时机就可以做到在文件改变时热更新或者实时上传。
下面我们就来聊一聊如何监听本地文件的变动!
我们会发现,如果给 el-autocomplete 组件标签加上 clearable 属性以后,那么,当我们输入内容以后,再点击 clearable 清空按钮清空输入框中输入的数据以后,当我们再重新输入文字的时候,请求会触发,后端返给我们的数据也获取到了,但是后端返回给我们的数据却没有渲染到页面上。就仿佛输入没反应了。解决方案比较直接的就是,当用户点击了 clearable 清空按钮以后,就让当前获取焦点的输入框失去焦点,回到最初状态,一切重新开始
即为:主动触发失去焦点,解决‘fetch-suggestions’输入建议失效的 bug,也就是: @clear="blurForBug()"
<template> | |
<div id="box"> | |
<el-autocomplete | |
:fetch-suggestions="querySearch" | |
v-model="inputValue" | |
@select="handleSelect" | |
:debounce="0" | |
:trigger-on-focus="true" | |
clearable | |
@clear="blurForBug()" | |
></el-autocomplete> | |
</div> | |
</template> |
blurForBug(){ | |
document.activeElement.blur() | |
} |
Object.assign 可以实现对象的合并。它的语法是这样的: Object.assign(target, ...sources)
,
Object.assign
会将 source 里面的可枚举属性复制到 target
。
开发中,很多人对 Object.assign 的用法不清,很容易导致以下 2 种情况,使得源对象属性改变
instanceof 的作用是判断实例对象是否为构造函数的实例,实际上判断的是实例对象的__proto__属性与构造函数的 prototype 属性是否指向同一引用;
constructor 的作用是返回实例的构造函数,即返回创建此对象的函数的引用。
今天本地创建了一个仓库(有 README),把本地仓库和 Gitee 上关联以后,发现 git pull
, git feach
提醒 fatal: refusing to merge unrelated histories
$ git pull origin/xlong fatal: refusing to merge unrelated histories |
上网查到原因是两个分支是两个不同的版本,具有不同的提交历史