一尘不染

Angular UI,Bootstrap Navbar折叠和Javascript

angularjs

我在很多方面都无法使用UI-Router。我不了解它如何与其他框架交互。

即,我正在尝试实现Bootstrap 3的导航栏折叠模块,如下所示:

<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Project name test</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</div>

这直接来自Bootstrap网站,在自己的.html页面中运行正常。

问题是当我将其插入UI-Router视图时。折叠动作不再起作用-我猜是因为“数据目标”功能以某种方式无法找到其目标。

如何将Bootstrap 3与Angular UI结合使用?Angular UI Bootstrap软件包没有导航栏模块。


阅读 208

收藏
2020-07-04

共1个答案

一尘不染

您应该使用ui-bootstrap指令(请注意ng-clickcollapse)替换bootstrap native js属性:

<nav class="navbar navbar-default" role="navigation">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" ng-click="navbarCollapsed = !navbarCollapsed">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">
        <!-- your branding here -->
      </a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" collapse="navbarCollapsed">
      <!-- your normal collapsable content here -->
    </div>
</nav>

在控制器中设置初始值:

$scope.navbarCollapsed = true;

编辑:

新版本的ui-bootstrap在所有组件前面加上前缀。相应地调整代码,例如。collapse-> uib- collapse

2020-07-04