コントローラ変数をディレクティブから変更し、その更新値をng-showに渡す必要があります。コントローラ変数をディレクティブからng-showに渡す - 角型JS
コントローラー:
self.menuVisible = false;
指令:
icon.bind('click', function(){
scope.menuCtrl.menuVisible = true;
})
は注:以下の私のコードを参照してくださいの質問に関連していないディレクティブでより多くのコード行がたくさんありますし、そしてこれがng-clickで渡すことができるコントローラ関数の代わりにディレクティブを使用する理由です。
ビュー:
<div class="menu-item" ng-show="menuCtrl.menuVisible"></div>
<div class="icon" my-directive></div>
目に見えるものは何も要素をクリックし、私はデベロッパーツールでmenuCtrl.menuVisibleをチェックするとき、それはアクションの後にtrueを返すには起こりませんが。
私が間違っていることを説明してください。
ありがとうございます!
この 'メニューitem'が場合でも' menuCtrl.menuVisible = true'に示されていませんか? –
いいえ、そうではありません。私はちょうどコントローラと別の関数を作成し、ng-clickを使って関数を適用することでチェックしました。それは動作し、私はこのオプションを使うことができましたが、ディレクティブを使って同じことをする方法を知りたがっていました。将来のためだけに。 –
ディレクティブの中で 'menuCtrl'はどこから得られますか?どのようにスコープが追加されたかを示すコードを表示します –