Javascript 材料设计md菜单疯狂
我正在使用Angularjs和Angular材质,我有一个在单击时打开的。我使用如下所示的ng重复渲染菜单:Javascript 材料设计md菜单疯狂,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,我正在使用Angularjs和Angular材质,我有一个在单击时打开的。我使用如下所示的ng重复渲染菜单: <md-menu-item ng-repeat="item in orderItem.searchItems"> <md-button ng-click="orderItem.searchMenuHit($event, '{{item.field}}')"> {{ite
<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>
<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>
如果我右键单击一个菜单项并用调试器检查它,它会显示ng click as orderItem.searchMenuHit$事件,“STK_NUM”,这就是我所期望的
如下图所示:
调用orderItem.searchMenuHit时,它将“{item.field}}}”作为第二个参数的值
我不知道这是为什么,也不知道如何解决。显然,当它实际呈现菜单时,该项是使用正确的ng click代码呈现的;似乎当单击某个项目时,该项目会以某种方式重新呈现,并且角度表达式(即使认为它是有效的)不会被计算 因此,我不确定我是否做了一些愚蠢的事情,使这件事变得比应该做的更困难,但无论出于何种原因,我无法将item.field作为参数正确地传递给我的控制器。我最终传递了整个item对象,效果很好 现在,我的整个代码片段如下所示:
<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>
<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>
您将参数括在引号中,因此它将向函数发送字符串文字。去掉引号,它应该是fineNo,我已经试过了,然后值周围没有引号,它被解释为变量。如果需要输出,在引号中包含一个角度表达式是很正常的。啊,我想根据这个问题,你希望它作为变量发送。那么期望的结果是什么?原始问题陈述了期望的结果。如果我右键单击菜单项并使用调试器检查它,它会显示ng click作为orderItem.searchMenuHit$事件,“STK_NUM”,这是我所期望的。请这样尝试:ng click=orderItem.searchMenuHit$事件,item.field