vue中的nextick函数


今天来说说vue实例中的nextTick函数

简单的来说,Vue更新DOM是要等数据全部变化完成后异步来更新的。所以要获取DOM元素需要写在 this.$nextick() 回调函数里。
eg:
Element-UI 中的 el-tag 动态编辑标签

<el-input class="input-new-tag" v-if="inputVisible" v-model="inputValue" ref="saveTagInput" 
          @keyup.enter.native="handleInputConfirm" @blur="handleInputConfirm">
</el-input>
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ New Tag</el-button>
showInput() {
  this.inputVisible = true;
  this.$nextTick( _ => {
    // 点击标签切换为文本框并自动获取焦点
    this.$refs.saveTagInput.$refs.input.focus();
  });
}

简而言之,如果你在数据改变之后的操作跟改变之后的DOM有关,那么就应该使用 Vue.nextTick()


文章作者: Mr. Zhan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mr. Zhan !
 上一篇
vue项目开启gzip压缩 vue项目开启gzip压缩
1. 将npm run build生成的dist目录放到自己搭建的node服务器上2. 开启gzip网络传输压缩,加快传输速度 服务器端安装compressionnpm i -D compression app.js导入包const com
2020-03-10 Mr. Zhan
下一篇 
hexo博客文章中添加图片 hexo博客文章中添加图片
问题描述:按照要求配置后发现还是显示不出图片,查了很久资料才解决了这个问题 一、插件安装与配置我们需要安装一个图片路径转换的插件 hexo-asset-image npm i -S hexo-asset-image 二、打开根目录下 _co
2020-02-26 Mr. Zhan
  目录