1

左側のメニューのToDoアプリケーションでjPanelMenuを使用しています。jPanelMenu を適切な要素に適用するディレクティブを作成しました。

jPanelMenuで再割り当てされる要素内にネストされたng-clickを持つネストされたng-repeatがあることを除いて、すべてが期待どおりに機能しています。

<jpmenu>
    <ul class="unstyled">
        <li ng-repeat="category in categories"> 
            <a href="#" ng-click="setFilterCategory(category)">{{ category }}</a>
        </li>
    </ul>
</jpmenu>

作成したjpanelメニューでng-clickイベントが発火しません。

ノート:

  • jPanelMenu は jpmenu 要素をコピーし、元の dom 要素を使用せずにそのスタイルを適用します
  • 元の DOM 要素はまだ存在し、それらは「display:none;」です。
  • 再作成された jpanel メニュー要素にクラス ng-scope がありません
  • 元のDOM要素を再表示してクリックすると、ng-click要素は適切に起動しますが、再作成された要素はまったく起動しません。

ディレクティブにタイムアウトを追加して、jpanel メニューの再作成を遅らせました (angular が最初に他のディレクティブを終了するのを待つため) が、それは役に立ちませんでした

これは正確に何が起こっているのかを示す jsfiddle の例です (この FIDDLE は、クロスサイトセキュリティのため、CHROME では実行されません): http://jsfiddle.net/47PXj/

jsfiddle で非表示にされていない元のメニュー項目をクリックすると、テキストが更新されますが、左側のメニューのメニュー項目をクリックしても機能しません。

4

1 に答える 1