ng show和ng hide don'I don’我一秒钟都不工作

ng-show and ng-hide don't work for a fraction of a second

本文关键字:don ng 一秒钟 工作 show hide      更新时间:2023-09-26

在我的应用程序中,我有两个div属性,希望根据状态(状态1或状态2)显示。第一个div1包含一个按钮,单击该按钮将转换到状态2(div1不显示,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都会显示很短的一秒钟。单击按钮转换到状态2时也会发生同样的情况。加载视图时基本上会发生以下情况:

div1和div2显示

div1显示,div2隐藏

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

div1和div2显示

div2显示,div1隐藏

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

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

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

到您的跑步功能。这将全局禁用动画。如果问题消失了,您可以删除并开始尝试找出您的"流氓"css转换在哪里。