2014-10-01 74 views
3

我有一個清單,結果在我的li元素令人耳目一新:如何使用在LI NG-點擊隱藏其UL父

<ul ng-init="visible = true" ng-show="visible"> 
    <li ng-repeat="suggestion in results" 
     ng-mouseover="changeSearchValue(suggestion)" 
     ng-click="visible = false"> 
     {{suggestion}} 
    </li> 
</ul> 

我想隱藏我的列表(UL)當華里點擊,但我不能讓它工作...這是一個不好的方法來做到這一點?

回答

3

ng-repeat創建用於每個迭代一個範圍,所以你從ul元件visible變量是不一定相同一個在每個li元件。調用從li元素父作用域的變量應該修復它:

<ul ng-init="visible = true" ng-show="visible"> 
    <li ng-repeat="suggestion in results" 
     ng-mouseover="changeSearchValue(suggestion)" 
     ng-click="$parent.visible = false"> <--this is the key 
     {{suggestion}} 
    </li> 
</ul> 

您最初寫什麼可以讓您單獨隱藏每個li元素。

看到這裏的區別:http://jsfiddle.net/oxda3aes/

+1

完美的作品,謝謝:) – emurb 2014-10-01 12:54:59

相關問題