重新绑定' ng-click'指令位于' ng-view'

时间:2014-10-17 06:24:46

标签: javascript jquery angular-ui-bootstrap

我正在使用AngularJS指令:ng-click="$event.stopPropagation();"使引导下拉菜单在第一次后续点击之后保持打开状态。它工作正常。

但是当我使用ng-view路由到同一个元素时,下拉列表的动态呈现版本会丢失其ng-click功能。如何重新绑定此元素?

编辑:根据以下评论的要求,我创建了Plunker。目前这个前ng-view版本的行为符合我的要求,即当用户点击引导下拉按钮时,下拉菜单元素出现并保持打开状态,直到用户点击菜单外(或再次在下拉按钮上) )。我已通过使用.dropdown-menu修改html中的ng-click="$event.stopPropagation();"标记来完成此行为。

我发现,只要我尝试将ngRoute资源模块添加到我的应用程序中(作为编码$routeProvider组件的前身),ng-click="$event.stopPropagation();"指令会立即失败。这是我在上面的Plunk中添加ngRoute的地方:

angular.module('ui.bootstrap.demo', ['ngRoute', 'ui.bootstrap']); 

有人可以告诉我发生了什么以及如何解决这个问题吗?我最终希望通过视图呈现按钮,但是使用 ng-click指令绑定并运行。

EDIT2 :用户在以下评论中提供了有效的解决方案。通过从#代码中移除href,不会跳过ng-click。为了后人的缘故,在Plunker中实现了这个解决方案。

1 个答案:

答案 0 :(得分:1)

href ="#"在a元素中导致页面导航,尝试使用href =""代替。

相关问题