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

标签 javascript html angularjs

在我的应用程序中,我有两个 div 属性,我想根据状态(state1 或 state2)显示它们。第一个 div1 包含一个按钮,当点击它时转换到 state2(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>

// Controller 逻辑

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

在移动设备上查看时,两个 div 在实际状态开始之前会显示几分之一秒。单击按钮转换到 state2 时也会发生同样的情况。加载 View 时基本上会发生以下情况:

已显示 div1 和 div2

div1 显示,div2 隐藏

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

已显示 div1 和 div2

div2 显示,div1 隐藏

如何防止这种困惑的 View 转换和加载?

最佳答案

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

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

到你的运行函数。这将全局禁用动画。如果问题消失,您可以删除并开始尝试找出您的“流氓”css 转换在哪里。

关于javascript - ng-show 和 ng-hide 在几分之一秒内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243737/

相关文章:

javascript - 使用同一插件的多个实例

php - jQuery 出现意外 token 错误

html - 在输入焦点上更改 FA SVG 图标颜色

javascript - 无法调用 $stateProvider,两次更新 View (仅第一次有效)

c# - 就我而言,List.Add 中的数据为 Null

javascript - 在适用于 Windows 8 的 Visual Studio Express 2012 中读取文本框

javascript - ReactJS - 重构后无法获取从单独文件加载值的函数

javascript - HTML 模板元素与 document.createDocumentFragment

html - img-circle 类不对图像进行四舍五入

javascript - 如何根据浏览器 url 在 angularjs 中将 url 作为 https 嵌入?