Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS ng使用ng显示意外行为动画_Javascript_Css_Angularjs - Fatal编程技术网

Javascript AngularJS ng使用ng显示意外行为动画

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); } } 那里没什么可疑的。请注意

问题是,当我快速双击一个按钮以切换ng显示时,该值不会更改(这是预期的行为-它会切换),但实际元素将被隐藏。请看这里:

如果快速双击,该值将保持为真,但元素会淡出。如果ng animate指令被删除,它将按预期工作,因此我猜这与动画有关

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;
}

谢谢您的帮助。不幸的是,这个错误仍然存在,所以我已经提出了一个问题。