【发布时间】:2021-03-08 23:06:49
【问题描述】:
我正在尝试根据 AJAX 调用完成的时间,使用 ng-show 在 $scope 中使用布尔值有条件地显示/隐藏两个 div。基本上,具有以下布局:
<div id="div1" ng-show="!loadingData">
<!--Some markup here-->
</div>
<div id="loadingMessage" ng-show="loadingData">
Loading...
</div>
引发变化的函数包含以下内容:
$scope.loadingData=true;
var promise = dao.doAjaxGet("url");
promise.then(function(data){
//Hide loading message
$scope.loadingData=false;
});
AJAX 调用运行正常,在 Chrome、Safari、Firefox 中运行良好,但不是我们需要支持的两个 IE 版本 - IE7 和 IE8。无论调用处于何种状态,加载消息都保持隐藏状态,而 div1 保持可见。有人可以就此提出建议吗?
【问题讨论】:
-
你能不能把
{{loadingData}},看看值是否得到更新? -
你是对的,该值似乎没有被应用。进一步的调查显示了 Chrome 中的类似行为,但更为零星。为什么会这样?
-
也不受 $scope.$apply() 影响。
标签: css ajax internet-explorer-8 internet-explorer-7 angularjs