我在其中有angular.js web应用程序和btn-group,如:
<div class="btn-group>
<button class="btn btn-default hidden-xs">....</button>
<button class="btn btn-default hidden-xs">....</button>
<button class="btn btn-default hidden-xs">....</button>
</div>
我想要隐藏其中一个按钮并添加:
<button ng-show="show_button">....</button>
在控制器中
$scope.show_button = false;
但我看到了按钮。为什么? ng-show
适用于整个btn-group
,但不适用于一个按钮。
答案 0 :(得分:1)
以下是您的plunkr示例。它适用于我btn-group
。
答案 1 :(得分:1)
我刚刚使用Angular v1.2.2遇到了这个问题。
似乎Bootstrap的样式规则为.hidden-xs:
.hidden-xs { display: block !important; }
@media (max-width: 767px) {
.hidden-xs { display: none !important; }
}
覆盖Angular的(v1.2.2)注入内联样式表(前置而不是附加到头部)的样式规则.ng-hide(可能是.ng-show)。
[ng\:cloak], [ng-cloak], [data-ng-cloak],
[x-ng-cloak], .ng-cloak, .x-ng-cloak,
.ng-hide {
display: none !important;
}
由于目前缺乏更好的解决方案,请在文档,样式表或其他方式中添加角度样式表或特定规则。 (如果更改Angular的版本,请检查样式规则更改)。如果有人有更合适的解决方案,请随时贡献。
答案 2 :(得分:1)
bootstraps'.hidden-xs
课程为可见元素添加了display:block
,这些元素打破了角度ng-show
和ng-hide
类。
相反,请使用自定义.my-hidden-xs
类:
// my-style.css
@media (max-width: 767px) {
.my-hidden-xs {
display: none !important;
}
}
// index.html
<button class="btn btn-default my-hidden-xs" ng-show="show_button"></button>
答案 3 :(得分:0)
我也遇到过这个问题。最后我发现我设置了风格&#34;可见性:隐藏&#34;在我自己的CSS文件中的div。因此无论我如何更改ng-show中的表达式,div总是被隐藏。这意味着始终应用自己样式中的可见性样式,angularjs永远不会更改此css属性值。要使用ng-show / ng-hide,首先需要确保不向DOM元素添加任何显示/隐藏样式,只需将控件移交给角度即可。
答案 4 :(得分:0)
尝试用ng-show
替换ng-hide
/ ng-if
。
应该做的诀窍:))