改变模式
ngHide on model change
我有如下的旋转控件
<div id="spinningSquaresG" ng-model="ajaxrequest" ng-show="{{ajaxrequest}}">
<div id="spinningSquaresG_1" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_2" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_3" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_4" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_5" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_6" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_7" class="spinningSquaresG">
</div>
<div id="spinningSquaresG_8" class="spinningSquaresG">
</div>
</div>
</div>
在我的控制器中,我设置了$scope.ajaxrequest = false;
,所以旋转器是正确隐藏的(如果我设置它ajaxrequest=true它出现,所以我想没有问题)。在我的控制器中,我有一个发出ajax请求的函数,我希望在请求开始时显示旋转器,并在请求完成时隐藏它。输入:
$( document ).ajaxStart(function() {
$scope.ajaxrequest = true;
console.log($scope.ajaxrequest);
});
$( document ).ajaxStop(function() {
$scope.ajaxrequest = false;
console.log($scope.ajaxrequest);
});
正如我可以从控制台看到的ajaxrequest值在请求之前和之后正确地改变。问题是旋转器没有出现。我错过什么了吗?
您正在使用JQuery来触发ajaxrequest
的更改,因此angular不知道任何更改。你可以在改变ajaxrequest后调用scope.$apply()
来通知angular的变化,但如果没有JQuery的话会更好。
查看拦截器文档中的示例:https://docs.angularjs.org/api/ng/service/$http
尝试ng-show="ajaxrequest"
代替ng-show="{{ajaxrequest}}"
。ng-show
已经接受一个表达式,所以不需要大括号。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- Ember.js网点的模式改变了,但内容没有改变
- javascript模式下的asp.net网格视图获胜'不要执着于改变索引
- 在 Javascript 中从经典继承切换到原型继承:模式的改变
- 改变模式
- 如何动态地改变angularbootstrap模式的templateUrl
- 如何隐藏Safari的工具栏时,方向改变为横向模式
- 改变Bootstrap'的默认模式类
- IE改变怪癖模式为标准模式的javascript
- 如何改变html5模式错误消息的电子邮件
- 如何在bootstrap模式中改变iframe HTML
- Function.prototype.call在严格模式之外改变this的类型;为什么
- 进入模式在CKEditor中改变了
- Jquery改变显示模式
- Angular-Schema-Form Change模式改变时的表单
- 改变剑道网格的模式角度
- 当HTML改变时更新选择器的jQuery设计模式
- 需要动态改变填充模式