为什么我的响应式导航栏下拉菜单无法正常工作?

Why is my responsive navbar dropdown not working properly?

这里是HTML代码:

<nav class="navbar navbar-default">
  <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" ng-click="navbarShow = !navbarShow">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
  </div>

   <div class="navbar-collapse" collapse="!navbarShow">
     <ul class="nav navbar-nav">
        <li><a ng-click="navbarShow = false">Sites<i class="glyphicon glyphicon-tree-conifer pull-left pull-left"></i></a></li>
        <li><a ng-click="navbarShow = false">Models<i class="glyphicon glyphicon-tower pull-left"></i></a></li>            
     </ul>
   </div>
</nav>

这里是Plunker

当我点击菜单按钮时,菜单会根据 navbarShow 值(true 或 false)弹出或折叠,并且工作正常!

但我还想在单击 SitesModels 时折叠菜单 出于这个原因,我使用这一行:

ng-click="navbarShow = false"

在每个项目(站点和模型)中。

但是当我点击 SitesModels 时菜单没有折叠。

为什么我点击 SitesModels 时它会折叠?

根据doc of bootstrap,要控制折叠元素,它不是collapse 属性。但是 data-targetdata-toggle 属性:

You can use a link with the href attribute, or a button with the data-target attribute. In both cases, the data-toggle="collapse" is required.

请查看此修改后的 Plunker 有效。