Material 疯狂设计 md-menu
Material Design md-menu madness
我将 Angularjs 与 Angular Material 一起使用,并且我有一个 <md-menu>
,它在单击 <md-button>
时打开。我使用 ng-repeat 呈现菜单,如下所示:
<md-menu-item ng-repeat="item in orderItem.searchItems">
<md-button ng-click="orderItem.searchMenuHit($event, '{{item.field}}')">
{{item.caption}}
</md-button>
</md-menu-item>
如果我右键单击一个菜单项并使用调试器检查它,它会将 ng-click 显示为 orderItem.searchMenuHit($event,'STK_NUM'),这正是我所期望的。
如下图所示:
当调用 orderItem.searchMenuHit 时,它接收“{{item.field}}”作为其第二个参数的值。
我不确定这是为什么,也不知道如何解决。显然,当菜单实际呈现该项目时,使用正确的 ng-click 代码呈现;似乎当单击某个项目时,该项目会以某种方式重新呈现并且 angular 表达式,即使认为它是有效的,也不会被评估。
所以,我不确定我是否在做一些愚蠢的事情,让这件事变得比应该做的更难,但不管出于什么原因,我无法让 item.field 被正确传递为我的控制器的一个参数。我最终传递了整个项目对象并且工作正常。
我的整个 <md-menu>
片段现在看起来像这样:
<md-menu>
<md-button class="md-icon-button" ng-click="$mdOpenMenu($event)">
<i class="material-icons md-dark">search</i>
</md-button>
<md-menu-content>
<md-menu-item ng-repeat="item in orderItem.searchItems">
<!--<md-button ng-click={{orderItem.getShortCutItem(item)}}>-->
<md-button ng-click="orderItem.searchMenuHit(item)">
{{item.caption}}
</md-button>
</md-menu-item>
</md-menu-content>
</md-menu>
我将 Angularjs 与 Angular Material 一起使用,并且我有一个 <md-menu>
,它在单击 <md-button>
时打开。我使用 ng-repeat 呈现菜单,如下所示:
<md-menu-item ng-repeat="item in orderItem.searchItems">
<md-button ng-click="orderItem.searchMenuHit($event, '{{item.field}}')">
{{item.caption}}
</md-button>
</md-menu-item>
如果我右键单击一个菜单项并使用调试器检查它,它会将 ng-click 显示为 orderItem.searchMenuHit($event,'STK_NUM'),这正是我所期望的。
如下图所示:
当调用 orderItem.searchMenuHit 时,它接收“{{item.field}}”作为其第二个参数的值。
我不确定这是为什么,也不知道如何解决。显然,当菜单实际呈现该项目时,使用正确的 ng-click 代码呈现;似乎当单击某个项目时,该项目会以某种方式重新呈现并且 angular 表达式,即使认为它是有效的,也不会被评估。
所以,我不确定我是否在做一些愚蠢的事情,让这件事变得比应该做的更难,但不管出于什么原因,我无法让 item.field 被正确传递为我的控制器的一个参数。我最终传递了整个项目对象并且工作正常。
我的整个 <md-menu>
片段现在看起来像这样:
<md-menu>
<md-button class="md-icon-button" ng-click="$mdOpenMenu($event)">
<i class="material-icons md-dark">search</i>
</md-button>
<md-menu-content>
<md-menu-item ng-repeat="item in orderItem.searchItems">
<!--<md-button ng-click={{orderItem.getShortCutItem(item)}}>-->
<md-button ng-click="orderItem.searchMenuHit(item)">
{{item.caption}}
</md-button>
</md-menu-item>
</md-menu-content>
</md-menu>