ng-show和ng-hide在几分之一秒内不起作用

时间:2015-03-24 22:02:19

标签: javascript html angularjs

在我的应用程序中,我有两个div属性,我想根据状态(state1或state2)显示。第一个div1包含一个按钮,当点击该按钮时,转换为state2(div1 dissapears,div2出现)。

 <div id="state1" ng-show="firstMode"><button ng-click="goTo2()">Go</button></div>
 <div id="state2" ng-hide="firstMode"><button ng-click="goTo2()">Go</button></div>

//控制器逻辑

$scope.firstMode = true
$scope.goTo2 = function() {
     $scope.firstMode = false
}

在移动设备上查看时,在实际状态开始之前,两个div都会显示一小段时间。单击按钮转换到state2时也会出现相同的情况。加载视图时基本上会发生以下情况:

显示div1和div2

div1显示,div2隐藏

点击按钮(显示div2,隐藏div1)

显示div1和div2

显示div2,div1隐藏

如何防止这种混乱的过渡和加载视图?

1 个答案:

答案 0 :(得分:3)

根据您对问题的描述,您可能已加载ngAnimate并且样式表有一些默认的css转换。要进行验证,请尝试添加:

app.run(function($animate){
    $animate.enabled(false);
})

到你的跑步功能。这将全局禁用动画。如果问题消失,您可以删除并开始尝试找出您的&#34; rogue&#34; css过渡是。