AngularJS:为什么我的指令作为ng-class指定的类不被识别



plunker

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

我需要使用此模式:

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 : 指令Arg ':(menu.name == 'Rename')}"

是这样的:<div renameDirective="directiveArg"></div>

更新:

作为一个冗长的解决方法,下面的代码可以暂时解决问题。它对更多改进持开放态度(我想利用 ng 类指令是最好的、最短/最干净的方法)。

<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>

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

<button class="{{menu.name=='Rename' && 'some-directive'}}">button2</button>

最新更新