我需要從指令中更改控制器變量,然後將其更新值傳遞給ng-show。請參閱我下面的代碼:從指令更改控制器變量並將其傳遞給ng-show - Angular 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在devtools它的動作後返回true。
你能解釋一下我做錯了嗎?
在此先感謝!
這'菜單item'甚至沒有當'menuCtrl.menuVisible = TRUE'顯示? –
不,不是。我只是通過創建一個單獨的函數進行檢查,如果控制器使用ng-click應用該函數。它的工作原理,我可以使用這個選項,但想知道如何做相同的使用指令。只是爲了未來。 –
你從哪裏得到'menuCtrl'的指令?顯示代碼如何添加範圍 –