VUE_ 之异步更新机制nextTick

简介: VUE_ 之异步更新机制nextTick
   Vue.nextTick(function () {
      // DOM 更新了
    })
   this.$nextTick(()=>{
        // DOM 更新了
       })


  • ①. 在下一DOM更新循环结束之后执行连续的替代。在修改数据之后立即使用此方法,获取更新后的DOM


  • ②. 模板代码


  // 修改数据
  vm.msg = 'Hello'
  // DOM 还没有更新
  Vue.nextTick(function () {
    // DOM 更新了
  })
  // 作为一个 Promise 使用 (2.1.0 起新增,详见接下来的提示)
  Vue.nextTick()
    .then(function () {
      // DOM 更新了
    })
    //作为一个promise使用
   vue.nextTick().then(()=>{
     alert(document.getElementById("xx").value)
    }).finally(()=>{
     alert("我来了")
    })  


③. 具体使用的场景(1) (掌握)


  (1).点击按钮显示原本以 v-show = false 隐藏起来的输入框,并获取焦点
  showsou(){
  this.showit = true //修改 v-show
   //在第一个 tick 里,获取不到输入框,自然也获取不到焦点
  document.getElementById("keywords").focus() 
}
  (2).修改为:
  showsou(){
    this.showit = true
    this.$nextTick(function () {
      // DOM 更新了
      document.getElementById("keywords").focus()
    })
   }


④. 具体使用的场景 (2) (掌握)


[在以后如果elementUI中需要弹出弹出层,我们都可以使用如下的方式来弹出]


微信图片_20220106131616.png

相关文章
|
1天前
|
JavaScript
vue打印v-model 的值
vue打印v-model 的值
|
1天前
|
JavaScript
Vue实战-组件通信
Vue实战-组件通信
7 0
|
1天前
|
JavaScript
Vue实战-将通用组件注册为全局组件
Vue实战-将通用组件注册为全局组件
7 0
|
1天前
|
JavaScript 前端开发
vue的论坛管理模块-文章评论02
vue的论坛管理模块-文章评论02
|
1天前
|
JavaScript Java
vue的论坛管理模块-文章查看-01
vue的论坛管理模块-文章查看-01
|
1天前
|
JavaScript
VUE里的find与filter使用与区别
VUE里的find与filter使用与区别
22 0
|
1天前
|
JavaScript
vue页面加载时同时请求两个接口
vue页面加载时同时请求两个接口
|
1天前
|
JavaScript
vue里样式不起作用的方法,可以通过deep穿透的方式
vue里样式不起作用的方法,可以通过deep穿透的方式
14 0
|
1天前
|
移动开发 JavaScript 应用服务中间件
vue打包部署问题
Vue项目`vue.config.js`中,`publicPath`设定为"/h5/party/pc/",在线环境基于打包后的`dist`目录,而非Linux的`/root`。Nginx代理配置位于`/usr/local/nginx/nginx-1.13.7/conf`,包含两个相关配置图。
vue打包部署问题
|
1天前
|
JavaScript 前端开发
iconfont 图标在vue里的使用
iconfont 图标在vue里的使用
17 0