0

偽のコンテキスト メニューを提供するために一部の HTML をトランスクルージョンするディレクティブがあります。使用法は次のとおりです。

<div id="my-element">
    My content
    <context-menu get-offset="getOffset($event)">
       <ul>
           <li>
               <a href="" ng-click="action()">{{ label }}</a>
           </li>
       </ul>
    </context-menu>
</div>

#my-elementこれにより、右クリックでコンテンツが表示されるイベントリスナーがバインドされ、context-menuオフセット$scope.getOffsetが返されます。

補間された文字列が展開されないことを除いて、すべてが機能{{ label }}します。$scope.labelの値が であるとしましょう'ABC'。「ABC」の代わりに「{{ label }}」が表示されます。ただし、ngClick は正しくバインドされているようです。

コードとデモについては、この plunkr を参照してください: http://plnkr.co/edit/QDVAHkhrfsNpRcjTwCpM?p=preview

どうしてこれなの?

4

1 に答える 1

3

イベントは $digest サイクルをトリガーしていません。次の行を の末尾に追加しますshowContextMenu()

transcludeScope.$digest();

(実際には、任意のスコープを使用してトリガーできます)

于 2015-05-20T21:27:49.937 に答える