我需要包含一个指令作为一个类:
我需要使用这种模式:
ng-class='{"some-directive":1'}
但不幸的是,该指令只能在下面的模式中注册(在上面的 plunker 链接中尝试):
class='some-directive'
主要问题是我只想将指令注册(包括)到我的上下文菜单的“重命名”选项:
<li ng-class="{'renameDirective':(menu.name == 'Rename')}" ng-repeat="menu in contextmenu
我将如何实现这一目标?.. 更难的是我想在 renameDirective 中添加一个参数.. 可能像这样:
ng-class="{'renameDirective
: 指令参数':(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>
我在这里有这个半重复的帖子作为我的参考