为什么在锚点上使用 ng-click 时导航栏菜单会闪烁?
Why does the navbar menu flash when using a ng-click on an anchor?
我认为我在输入时很聪明:
<li><a ng-click="navCollapsed = !navCollapsed" href="#/">Home</a></li>
作为我的导航列表项 - 为了自动关闭菜单(在小型设备上)。
这非常有效,除了当您不在小型设备上时,导航会闪烁(重新加载)。
有谁知道为什么?有解决办法吗?
JSfiddle of the Problem HERE - 重新调整 html 输出的大小 window...
它在折叠过程中将高度设置为零,然后通过过渡将其重置。它还在改变侧边距。您可能需要合并媒体查询以强制高度和填充保持一致。
这是一个开始。可能有一种更编程的方式来做到这一点,但它有效。
@media (min-width: 768px) {
.navbar-collapse {
height: auto !important;
padding-left: 0 !important;
}
}
我刚刚用一个小函数解决了这个问题,该函数在反转 isCollapsed 值之前检查屏幕尺寸。
之前
HTML
<div role="navigation" ng-click="isCollapsed = !isCollaped" class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" uib-collapse="isCollapsed">
JS
$scope.isCollapsed = true;
之后
HTML
<div role="navigation" ng-click="collapse()" class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" uib-collapse="isCollapsed">
JS
$scope.isCollapsed = true;
$scope.collapse = function(){
if(window.innerWidth < 820){
$scope.isCollapsed = !$scope.isCollapsed;
}
};
我认为我在输入时很聪明:
<li><a ng-click="navCollapsed = !navCollapsed" href="#/">Home</a></li>
作为我的导航列表项 - 为了自动关闭菜单(在小型设备上)。
这非常有效,除了当您不在小型设备上时,导航会闪烁(重新加载)。
有谁知道为什么?有解决办法吗?
JSfiddle of the Problem HERE - 重新调整 html 输出的大小 window...
它在折叠过程中将高度设置为零,然后通过过渡将其重置。它还在改变侧边距。您可能需要合并媒体查询以强制高度和填充保持一致。
这是一个开始。可能有一种更编程的方式来做到这一点,但它有效。
@media (min-width: 768px) {
.navbar-collapse {
height: auto !important;
padding-left: 0 !important;
}
}
我刚刚用一个小函数解决了这个问题,该函数在反转 isCollapsed 值之前检查屏幕尺寸。
之前
HTML
<div role="navigation" ng-click="isCollapsed = !isCollaped" class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" uib-collapse="isCollapsed">
JS
$scope.isCollapsed = true;
之后
HTML
<div role="navigation" ng-click="collapse()" class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" uib-collapse="isCollapsed">
JS
$scope.isCollapsed = true;
$scope.collapse = function(){
if(window.innerWidth < 820){
$scope.isCollapsed = !$scope.isCollapsed;
}
};