クラスとしてディレクティブを含める必要があります。
そして、私はこのパターンを使用する必要があります:
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-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>
ここでの参照として、この半重複の投稿がありました