2

笨蛋

我需要包含一个指令作为一个类:

我需要使用这种模式:

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>

我在这里有这个半重复的帖子作为我的参考

4

1 回答 1

1
<button class="{{menu.name=='Rename' && 'some-directive'}}">button2</button>
于 2013-09-10T09:24:00.367 回答