Javascript AngularJS ng使用ng显示意外行为动画
问题是,当我快速双击一个按钮以切换ng显示时,该值不会更改(这是预期的行为-它会切换),但实际元素将被隐藏。请看这里: 如果快速双击,该值将保持为真,但元素会淡出。如果ng animate指令被删除,它将按预期工作,因此我猜这与动画有关Javascript AngularJS ng使用ng显示意外行为动画,javascript,css,angularjs,Javascript,Css,Angularjs,问题是,当我快速双击一个按钮以切换ng显示时,该值不会更改(这是预期的行为-它会切换),但实际元素将被隐藏。请看这里: 如果快速双击,该值将保持为真,但元素会淡出。如果ng animate指令被删除,它将按预期工作,因此我猜这与动画有关 function ctrl($scope){ $scope.foo = true; $scope.clicked = function(){ $scope.foo = !($scope.foo); } } 那里没什么可疑的。请注意
function ctrl($scope){
$scope.foo = true;
$scope.clicked = function(){
$scope.foo = !($scope.foo);
}
}
那里没什么可疑的。请注意,这是使用AngularJS中的旧动画方式,但我也观察了AngularJS 1.2.8中的行为
编辑:我认为动画持续时间是一些故障排除后的问题。似乎在0延迟的情况下工作正常。对于任何非零的内容,它都会忽略它应该隐藏的事实,并完成动画。我看到您仍然使用AngularJS1.1.4 由于1.2,AngularJS对动画使用了完全不同的API。 请注意,ng animate现在是一个单独的模块,因此您必须将其包含在脚本中以及模块依赖项列表中 您可以在本文中了解更多信息: 重构为AngularJS 1.2-> html:
[双击我快速]ng显示:{{foo}
js:
angular.module('myApp',['ngAnimate']))
.controller('ctrl',函数($scope){
$scope.foo=true;
$scope.clicked=function(){
$scope.foo=!($scope.foo);
}
});
css:
.myDiv{
宽度:400px;
高度:200px;
背景色:红色;
-webkit过渡:不透明度1s线性;
-moz过渡:不透明度1s线性;
-o-转变:不透明度1s线性;
过渡:不透明度1s线性;
不透明度:1;
}
.myDiv.ng-hide-add、.myDiv.ng-hide-remove{
显示:块!重要;
}
.myDiv.ng-hide{
不透明度:0;
}
谢谢您的帮助。不幸的是,这个错误仍然存在,所以我已经提出了一个问题。