Angularjs 角度UI运行下拉切换从ng单击

Angularjs 角度UI运行下拉切换从ng单击,angularjs,angular-ui,Angularjs,Angular Ui,有没有办法从ng click指令运行dropdownToggle? 我将它与ngMobile一起使用,以避免在触摸设备上延迟点击操作按钮 <div class="btn-group"> <a class="btn dropdown-toggle"> Actions <span class="caret"></span> </a> <ul class="drop

有没有办法从ng click指令运行dropdownToggle? 我将它与ngMobile一起使用,以避免在触摸设备上延迟点击操作按钮

  <div class="btn-group">
      <a class="btn dropdown-toggle">
        Actions
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu">
          <li><a>Action 1</a></li>
          <li><a>Action 2</a></li>
      </ul>
  </div>
菜单也有一个问题,如果我不保留Action1/Action2,它不会在点击时关闭
压了很长时间。比通常的点击时间长得多。

看起来我找到了一个解决方案,我认为这不是最好的,但它很有效。 如果有人有更好的,请分享

打开下拉列表会将一个打开的类添加到下拉列表元素中,因此为了使用ng打开它,我需要单击添加这个类

我知道这是暂时的解决办法,但没有找到更好的办法

代码如下:

<div class="btn-group" ng-class="{open: opened}" ng-click="opened=!opened"  ng-init="opened=false">
      <a class="btn dropdown-toggle">
        Actions
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu">
          <li><a ng-click="$location.path('/some/addr')">Action 1</a></li>
      </ul>
  </div>

至于点击关闭菜单:这可能是由于我的html中的错误没有正确关闭一些标记造成的。纠正后,问题消失了。从源代码中,我看到单击和运行$location时下拉菜单都已关闭。path

看起来我找到了一个解决方案,我认为这不是最好的解决方案,但它很有效。 如果有人有更好的,请分享

打开下拉列表会将一个打开的类添加到下拉列表元素中,因此为了使用ng打开它,我需要单击添加这个类

我知道这是暂时的解决办法,但没有找到更好的办法

代码如下:

<div class="btn-group" ng-class="{open: opened}" ng-click="opened=!opened"  ng-init="opened=false">
      <a class="btn dropdown-toggle">
        Actions
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu">
          <li><a ng-click="$location.path('/some/addr')">Action 1</a></li>
      </ul>
  </div>

至于点击关闭菜单:这可能是由于我的html中的错误没有正确关闭一些标记造成的。纠正后,问题消失了。从源代码中,我看到在单击和运行$location时下拉菜单都是关闭的。path

当下拉表单在$location上不关闭时,我有一个类似的问题。pathnewPath我的解决方案是,如果使用未压缩的ui引导文件,在

angular.module('ui.bootstrap.dropdownToggle', [])
    .directive('dropdownToggle', ['$document', '$location', function($document, $location)
改变

scope.$watch('$location.path', function() {
    closeMenu();
});


我有一个类似的问题,当下拉表单在$location.pathnewPath上没有关闭时,我的解决方案是,如果您使用未压缩的ui引导文件,在

angular.module('ui.bootstrap.dropdownToggle', [])
    .directive('dropdownToggle', ['$document', '$location', function($document, $location)
改变

scope.$watch('$location.path', function() {
    closeMenu();
});


今天发布的新angularjs 1.2.0rc1似乎也让ngClick发出一个点击事件。。这样就可以解决问题了。谢谢你的回复,我没注意到。不应该是范围。$on而不是$watch?似乎今天发布的新angularjs 1.2.0rc1也让ngClick发出一个点击事件。。这样就可以解决问题了。谢谢你的回复,我没注意到。不应该是scope.$on而不是$watch?