【发布时间】:2016-05-23 16:57:30
【问题描述】:
<md-menu-bar>
<md-menu ng-repeat="section in sections">
<md-button class="navButton" ng-click="$mdOpenMenu()">
{{section.name}}
</md-button>
<md-menu-content>
<md-menu-item>
<md-button>Subsection 1</md-button>
</md-menu-item>
</md-menu-content>
</md-menu>
</md-menu-bar>
我正在做类似上面的事情,但不幸的是,如果我点击一个菜单,即使我点击其他按钮,它也会保持打开状态。
我只是希望它具有与
相同的行为https://material.angularjs.org/latest/demo/menuBar
附:如果我不使用 ng-repeat(意思是菜单是静态的),它可以正常工作。
【问题讨论】:
-
指令 ng-repeat 创建了一个单独的范围,这就是为什么(很可能)您的示例有效。一种可能性是使用 controllerAs 语法并将您的方法分配给真正的指令控制器范围,而不是角度 $scope。然后,您将在您的方法中以 ctrlName.methodName(); 的形式打开新菜单。如果您创建一个小提琴会更容易
-
Pankaj 创建了一个 codepen。非常感谢! @Maciej,请查看已编辑的问题。
标签: angularjs angular-material