我需要将指令包含在一个类中:
我需要使用这种模式:
ng-class='{"some-directive":1'}
但不幸的是,该指令只能在下面的模式中注册(在上面的plunker链接中尝试):
class='some-directive'
主要问题是我想只将指令注册(包含)到我的上下文菜单的“rename”选项中:
<li ng-class="{'renameDirective':(menu.name == 'Rename')}" ng-repeat="menu in contextmenu
我将如何实现这一目标?..更难的是我想在renameDirective中添加一个参数..也许是这样的:
ng-class="{'renameDirective
:directiveArg ':(menu.name == 'Rename')}"
是这样的:<div renameDirective="directiveArg"></div>
更新
作为一个罗嗦的解决方法,下面的代码可以暂时解决问题。它是开放的更多改进(我想利用ng-class指令是最好,最短/最干净的方法)。
<ul>
<li ng-repeat="menu in contextmenu">
<div ng-switch on="menu">
<div ng-switch-when="Rename">
<button some-directive="Rename">button{{$index}}</button>
</div>
<div ng-switch-default>
<button>button{{$index}}</button>
</div>
</div>
</li>
</ul>
我将这个半重复的帖子作为我的参考here
答案 0 :(得分:1)
<button class="{{menu.name=='Rename' && 'some-directive'}}">button2</button>