Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
angularjs ngHide与ngShow延迟_Angularjs - Fatal编程技术网

angularjs ngHide与ngShow延迟

angularjs ngHide与ngShow延迟,angularjs,Angularjs,早上好,我有一个字段,当它被查看时它是一个标签,当它被修改时它是一个输入字段,我用ng show和ng hide以及一个启用布尔值的按钮触发它。当我激活编辑模式时,标签会隐藏,输入字段会显示,这是实时的,当我单击“取消”并切换布尔值时,标签会出现,但输入字段会隐藏一段时间,因此我的视觉效果非常差。 这里有一些代码 <input ng-model="name" ng-show="editing"> <label ng-hide="editing">{{name}}</

早上好,我有一个字段,当它被查看时它是一个标签,当它被修改时它是一个输入字段,我用ng show和ng hide以及一个启用布尔值的按钮触发它。当我激活编辑模式时,标签会隐藏,输入字段会显示,这是实时的,当我单击“取消”并切换布尔值时,标签会出现,但输入字段会隐藏一段时间,因此我的视觉效果非常差。 这里有一些代码

<input ng-model="name" ng-show="editing">
<label ng-hide="editing">{{name}}</label>

<button ng-click="editing=true">Edit</button>
<button ng-click="editing=false">Cancel</button>

{{name}}
编辑
取消
有没有办法解决这个问题


谢谢

您的代码原样没有问题,正如您在我的代码片段中看到的,它正在按预期工作。你还没有发现你的问题,你需要给我们更多的HTML和代码

angular.module('myApp',[]).controller('myController',function($scope){
$scope.editing=true;
});

{{name}}
编辑
取消

您是否包括Animate

如果是这样,这是可能发生的。 在我们的项目中,我们在每个要设置动画的dom元素上声明并使用一个类,并告诉angular仅在配置回调中设置这些元素的动画:

$animateProvider.classNameFilter(/animate/);

我一直都有相同的问题,我必须使用相同的变量隐藏/显示元素(因为ng animate),这在ng show/ng hide/ng if中发生,也可能在ng switch中发生,但在ng类中不会发生。因此,一个快速解决方案是更改您的代码:

<input ng-model="name" ng-class="{'ng-hide':!editing}">
<label ng-class="{'ng-hide':editing}">{{name}}</label>

<button ng-click="editing=true">Edit</button>
<button ng-click="editing=false">Cancel</button>

{{name}}
编辑
取消

我们可能需要查看您的全部代码-请发布类似于a的内容来说明您的问题。同意;我自己似乎无法重现这个问题这是JSFIDLE这里的效果是不可见的,我认为我有这个效果,因为我有一个大控制器和很多东西进入我的dome(这是一个完整的应用程序)。这里的效果是不可见的,我想我之所以有这种效果是因为我有一个大的控制器,在我的dome中有很多东西(这是一个完整的应用程序)。是的,我也有ngAnimate和boostrap,如果我从输入字段中删除css类,它就不会发生。我还从控制器中删除了$animate,但问题依然存在,因为ngAnimate使用超时为动画留出时间,测试这一点的快速而愚蠢的方法是从依赖模块列表中删除ngAnimate,但如果您想永久处理此问题,您应该使用我在回答中提到的选项I从应用模块加载中删除ngAnimate,我没有使用动画效果,但我也遇到过同样的问题。这可能是angularjs引导ui使用动画本身吗?这个答案令人惊讶。应该是常识。