0

我正在构建一个第一次使用angular角色的web应用程序并使用引导程序css(angular ui)。我使用引导程序中的导航栏并使用ng-route路由到ng-templates。一切正常。从bootstraps导航到有角度的页面模板导航栏下拉

现在我想包含一个下拉按钮到导航栏中,我可以到达一些额外的路由选择。我做它像这样:

<nav class="navbar navbar-default navbar-static-top" role="navigation" ng-controller="NavigationCtrl"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle" ng-click="nav.collapsed=!nav.collapsed"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </button> 
     </div> 
     <div class="navbar-collapse navbar-right" collapse="nav.collapsed"> 
      <ul class="nav navbar-nav"> 
       <li> 
        <a href="#/index" ng-click="nav.collapsed=true"> 
         <span class="glyphicon glyphicon-home"></span> 
         Home 
        </a> 
       </li> 
       <li class="dropdown"> 
        <a href="" class="dropdown-toggle" data-toggle="dropdown"> 
         <span class="glyphicon glyphicon-cog"></span> 
         Dropdown 
         <span class="caret"></span> 
        </a> 
        <ul class="dropdown-menu dropdown-toggle" data-toggle="dropdown" role="menu"> 
         <li> 
          <a href="#/configA" ng-click="nav.collapsed=true"> 
           <span class="glyphicon glyphicon-dashboard"></span> 
           ConfigA 
          </a> 
         </li> 
         <li> 
          <a href="#/configB" ng-click="nav.collapsed=true"> 
           <span class="glyphicon glyphicon-dashboard"></span> 
           ConfigB 
          </a> 
         </li> 
         <li> 
          <a href="#/configC" ng-click="nav.collapsed=true"> 
           <span class="glyphicon glyphicon-dashboard"></span> 
           ConfigC 
          </a> 
         </li> 
        </ul> 
       </li> 
      </ul> 
     </div> 
    </nav> 

我的路线是这样的:

app.config(["$routeProvider", function ($routeProvider) { 
    $routeProvider 
     // route for the main page 
     .when("/index", { 
      templateUrl: "/index" 
     }) 
     // route for the about page 
     .when("/configA", { 
      templateUrl: "/configA" 
     }) 
     // route for the about page 
     .when("/configB", { 
      templateUrl: "/configB" 
     }) 
     // route for the about page 
     .when("/configC", { 
      templateUrl: "/configC" 
     }) 
     .otherwise({redirectTo: "/index"}); 
}]) 

我的模板是在HTML头部像脚本:

<script type="text/ng-template" id="/index"> 
    <div> 
     <div class="jumbotron"> 
      <h1>Hello, world!</h1> 
      <p>...</p> 
      <p><a class="btn btn-primary btn-lg" role="button">Learn more</a></p> 
     </div> 
    </div> 
</script> 

这工作得很好平常链接在导航栏中。但是,单击下拉列表不会工作的联系,只是没有任何反应:(我错过了一些东西在这里?

回答

0

你必须创建一个ANCOR链接。

只需创建一个真正的链接,它应该正常工作:

<nav class="navbar navbar-default navbar-static-top" role="navigation" ng-controller="NavigationCtrl"> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" ng-click="nav.collapsed=!nav.collapsed"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
     </button> 
    </div> 
    <div class="navbar-collapse navbar-right" collapse="nav.collapsed"> 
     <ul class="nav navbar-nav"> 
      <li> 
       <a href="/index" ng-click="nav.collapsed=true"> 
        <span class="glyphicon glyphicon-home"></span> 
        Home 
       </a> 
      </li> 
      <li class="dropdown"> 
       <a href="" class="dropdown-toggle" data-toggle="dropdown"> 
        <span class="glyphicon glyphicon-cog"></span> 
        Dropdown 
        <span class="caret"></span> 
       </a> 
       <ul class="dropdown-menu dropdown-toggle" data-toggle="dropdown" role="menu"> 
        <li> 
         <a href="/configA" ng-click="nav.collapsed=true"> 
          <span class="glyphicon glyphicon-dashboard"></span> 
          ConfigA 
         </a> 
        </li> 
        <li> 
         <a href="/configB" ng-click="nav.collapsed=true"> 
          <span class="glyphicon glyphicon-dashboard"></span> 
          ConfigB 
         </a> 
        </li> 
        <li> 
         <a href="/configC" ng-click="nav.collapsed=true"> 
          <span class="glyphicon glyphicon-dashboard"></span> 
          ConfigC 
         </a> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </div> 
</nav> 
+0

这也不起作用。我必须使用#,因为我正在处理本地文件,所以我只能使用可以通过#/地址引用的ng-templates。正如我所说的,它适用于所有标准导航栏链接,但不能与下拉列表中的链接相关。 – Fidel90 2014-10-01 09:53:19

+0

当您删除ng-click =“nav.collapsed = true”时,它是否仍然发生? – 2014-10-01 09:57:21

+0

是的,删除后没有变化:(以下链接手动工作顺便说一句,所以我想没有路由配置的问题。 – Fidel90 2014-10-01 09:59:53