使用AngularJS的响应列(并且没有jQuery)

时间:2014-09-15 08:12:22

标签: angularjs twitter-bootstrap

这感觉就像一个非常愚蠢的问题,因为它应该是如此简单,但我一直试图弄清楚它一两天吧! 我正在尝试构建一个没有jQuery的完全AngularJS应用程序,并且一些技巧比我想象的要难。

我有一个三列布局,所有都在一个范围内使用Bootstrap布局。左侧和右侧列显示在桌面上,并在平板电脑和移动设备上消失。 在移动设备/平板电脑上查看时,有两个按钮可以切换这些列。

这就是字面意思!但我想用AngularJS方式而不是jQuery - 通过检查类或样式并切换显示或隐藏来实现它非常简单。

在AngularJS中,如果我使用ng-show或ng-hide,并使用ng-click切换变量,那么它们默认显示在平板电脑/手机上(需要隐藏)或者隐藏在桌面上默认情况下(需要显示)。

我做了很多AngularJS的工作,所以这让我觉得有点愚蠢 - 我对国际化,本地化,本地存储支持等没有任何问题,但这个让我难过!

1 个答案:

答案 0 :(得分:1)

您可能正在使用hidden-xs或类似的类隐藏外部列。您可以在默认情况下简单地添加这些类,但可以通过ng-class指令按需删除它们:

例如:

<div class="col-md-4" ng-class="{'hidden-xs' : !showLeft}">
  <h3>Left</h3>
</div>

默认情况下,您的控制器会添加响应类:

function ColumnController( $scope ) {
  $scope.showLeft = false;
  $scope.showRight = false;
}

您可以在http://plnkr.co/edit/s2sjC53EJNZEKpf4jRFr?p=preview

上查看此内容