一个Angularjs的坑

情景一:

 var div_NormalStatus = document.getElementById("NormalStatus");//div1
 var div_LockStatus = document.getElementById("LockStatus");//div2

 function getData(){  
    div_NormalStatus.style.display = "none";//1
    div_LockStatus.style.display = "block";//2
 }

第一次加载页面的时候 执行getData函没问题
返回后再次进来 代码1,2都执行了,可是2个DIV都显示了,也就是代码没起作用;

情景二:

 function getData(){  
    document.getElementById("NormalStatus").style.display = "none";//1
    document.getElementById("LockStatus").style.display = "block";//2
 }

这样就ok了!

求教大神解释下为什么会这样?!

阅读 2.6k
2 个回答

情景一里代码1、2执行的时候页面还没加载那两个dom,然后缓存了两个空的dom对象,执行getData的时候自然就没有值了,而且,你这个问题和angularjs没有关系啊,用ng还需要像你这样写吗?

首先就是遇到问题的时候 自己打断点查看一下 是什么原因引起的
然后就是对样式的改变 使用class进行改变 而不是断断续续的重绘
最后就是具体问题具体环境 包括你的加载方式 函数的执行环境

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进