javascript - 如何使用 angular-ui-bootstrap 根据屏幕分辨率在垂直药丸和选项卡之间正确交换?

标签 javascript angularjs twitter-bootstrap angular-ui-bootstrap angular-ui

我有一个使用 angular-ui-bootstrap 制作的默认(水平)选项卡集。

<uib-tabset active="0">
    <uib-tab index="0" heading="Foobar">
        <div ng-include="foobar.html"></div>
    </uib-tab>
    <!-- Other tabs... -->
</uib-tabset>

我想将其转换为移动设备的垂直“药丸”选项卡集。

<uib-tabset active="0" vertical="true" type="pills">
    <uib-tab index="0" heading="Foobar">
        <div ng-include="foobar.html"></div>
    </uib-tab>
    <!-- Other tabs... -->
</uib-tabset>

由于我正在使用 Bootstrap 3,因此我尝试了以下解决方法:

<div class="visible-xs-block">
    <uib-tabset active="0" vertical="true" type="pills">
        <uib-tab index="0" heading="foobar">
            <div ng-include="foobar.htm"></div>
        </uib-tab>
        <!-- Other tabs... -->
    </uib-tabset>
</div>

<div class="hidden-xs">
    <uib-tabset active="0">
        <uib-tab index="0" heading="foobar">
            <div ng-include="foobar.html"></div>
        </uib-tab>
        <!-- Other tabs... -->
    </uib-tabset>
</div>

它“有效”,但我认为它并不是真正有效。我对指令也有很多问题,因为某些元素被定义了两次(ng-include 是重复的)。

你现在知道我如何在 Controller 或其他东西中正确处理它吗?

最佳答案

您可以执行以下操作,而不是重复代码:

<uib-tabset active="0" vertical="myIsSmallScreenVariable" ng-attr-type="myIsSmallScreenVariable ? 'pills' : null">
  <uib-tab index="0" heading="foobar">
    <div ng-include="foobar.htm"></div>
  </uib-tab>
  <!-- Other tabs... -->
</uib-tabset>

关于javascript - 如何使用 angular-ui-bootstrap 根据屏幕分辨率在垂直药丸和选项卡之间正确交换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144452/

相关文章:

javascript - React 渲染方法依赖于异步请求和状态变化

javascript - Sequelize.js - "is not associated to"

css - Angular 嵌套指令排序

javascript - 删除 Angular 文本中的空白

javascript - 当 Bootstrap JS 低于 jQuery JS 问题时,移动菜单不会关闭

javascript - 调整窗口大小时,页面上的四个图像不会调整大小

javascript - 在图层组中放置多个标记

javascript - 是否有 Angular 的事件发布/订阅框架?

http - 我如何测试 Angularjs 工厂 stub $http?

jquery - Bootstrap - 总是汉堡菜单