我有很多方面的UI路由器的麻烦。我不明白它如何与其他框架交互。
也就是说,我试图实现Bootstrap 3的navbar collapse模块,如下所示:
<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路由器视图。折叠动作不再工作 – 我猜测,因为“数据目标”功能无法找到其目标。
如何使用Bootstrap 3与Angular UI? Angular UI Bootstrap包没有导航栏模块。
下面的答案是好的。这是一个参考URL Twitter Boostrap Navbar with Angular JS – Collapse not functioning。
您应该使用ui-bootstrap指令替换bootstrap本机js属性(注意ng单击和折叠):
<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 prefix all compontents.相应地调整您的代码,例如。 collapse – > uib-collapse。