UI-Router 1.0.0-beta.2和UI-Bootstrap 2.1.4下拉列表未关闭

时间:2016-10-06 16:06:38

标签: angularjs angular-ui-router angular-ui-bootstrap

我在使用UI-Bootstrap下拉列表的导航栏链接中使用ui-route ui-sref,如果我使用带有href的锚标记,则点击时关闭下拉列表,但使用ui-sref锚定标记没有关闭下拉列表。我有以下的plnkr,它显示了错误。

Angular Code

angular.module('app', ['ui.bootstrap', 'ui.router'])
  .config(appRoute)
  .controller('myController', myController);

appRoute.$inject = ['$stateProvider'];

function appRoute($stateProvider) {
  $stateProvider.state('index', {
      url: '/index',
      template: '<h1>indexRoute</h1>'
    })
    .state('other', {
      url: '/other',
      template: '<h1>otherRoute</h1>'
    })
}

function myController() {
  var ctrl = this;
  ctrl.title = 'Title';
  ctrl.user = 'User@user.com';
  ctrl.test = test;
  ctrl.test2 = test2;

  function test() {
    console.log('TEST LINK!')
  }

  function test2() {
    console.log('TEST 2')
  }
}

HTML

<body ng-controller="myController as $ctrl" style="{padding-top: 70px;}">
    <nav id="isec-menu" class="navbar navbar-default navbar-fixed-top">
      <div class="container-fluid">
        <div class="navbar-header">
          <div class="intelisecure-header">
            <span>{{$ctrl.title}}</span>
          </div>
        </div>
        <div class="collapse navbar-collapse navbar-right">
          <ul class="nav navbar-nav">
            <li id="usermenu" class="dropdown user-menu-dropdown" uib-dropdown="">
              <a href="" class="uib-dropdown-toggle username" uib-dropdown-toggle="">
                <i class="fa fa-user fa-fw"></i>
{{$ctrl.user}}                 <span class="caret"></span>
              </a>
              <ul class="dropdown-menu" uib-dropdown-menu="" role="menu">
                <li role="menuitem">
                  <a href="/index" ng-click="$ctrl.test()">
                    <i class="fa fa-fw fa-sign-out menu-icon"></i>
                    <span class="menu-text">index href</span>
                  </a>
                </li>
                <li role="menuitem">
                  <a ui-sref="other" ng-click="$ctrl.test2()">
                    <i class="fa fa-fw fa-sign-out menu-icon"></i>
                    <span class="menu-text">other sref</span>
                  </a>
                </li>
                <li role="menuitem">
                  <a href="" ng-click="$ctrl.logout()">
                    <i class="fa fa-fw fa-sign-out menu-icon"></i>
                    <span class="menu-text">Logout</span>
                  </a>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>
    <ui-view>
      <div>
        test
      </div>
    </ui-view>
  </body>

没有完美构建,我试图看看是否可以用我的

复制问题

https://plnkr.co/edit/Rz3AbgnYnWI34DjuByY6?p=preview

1 个答案:

答案 0 :(得分:0)

显然这是一个已知问题,并通过更新到UI-Router 1.0.0-beta.3来解决。