zoukankan      html  css  js  c++  java
  • Vue的一个陷阱

      最近做项目,上线前一直有个bug,不知道是什么原因引起的,

      

    vm.$set('needVerification', true);
    $('.verification-button').prop('disabled', true);
    $('.verification-button').addClass('verification-disab');

        

    needVerification是让一个html元素显示出来的vue实例属性,但后面的两行代码一直没有执行,后来把第一行代码换成jquery的show()方法,就没问题了。
    $('.verification').show();
    $('.verification-button').prop('disabled', true);
    $('.verification-button').addClass('verification-disab');

     怀疑是渲染线程的原因。

     今天看vue官方2.0的文档,在深入响应式原理的一节看到,“你应该注意到 Vue 执行 DOM 更新是异步的,只要观察到数据变化,Vue 就开始一个队列,将同一事件循环内所有的数据变化缓存起来”。 就是这里解释的东西了。官方也给了相应的解决方案:为了在数据变化之后等待 Vue 完成更新 DOM ,可以在数据变化之后立即使用 Vue.nextTick(callback) 。

     这一节文档可以多看几遍。

  • 相关阅读:
    BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊 ——Link-Cut Tree
    BZOJ 2049 [Sdoi2008]Cave 洞穴勘测 ——Link-Cut Tree
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
  • 原文地址:https://www.cnblogs.com/zhansu/p/6097622.html
Copyright © 2011-2022 走看看