2015-09-26 45 views
2

即時通訊相當新的角度,所以與我一起:) 我有一個新聞和事件在兩個單獨的div的列表,然後我有一個filternavigation來打勾你是否只想請參閱新聞或事件。 因此,在我的控制器中,我設置了$ scope.showNews = true和$ scope.showEvents = true,因爲我想爲初學者顯示這兩者。在我的導航我給自己定的:用ng-click過濾新聞和事件

<li><a ng-click="showNews==true && showEvents == false" title="News" href="#">News</a></li> 
       <li><a ng-click="showEvents==true && showNews == false" title="Events" href="#">Events</a></li> 

,然後在我的容器div消息,我有這樣的:

<section ng-show="showNews == true" class="ribbon grid-layout-section clearfix 1-cell ng-cloak" > 

並且還包含分區我的活動我有

<section ng-show="showEvents == true" class="ribbon grid-layout-section clearfix 1-cell ng-cloak"> 

但是,我不能真正讓過濾器工作,點擊過濾器導航中的新聞或事件時什麼也沒有發生 - 我在這裏做錯了什麼? :)

回答

2

你幾乎明白了,你正在爲你的ng-click做一個有條件的事情,所以他們實際上什麼都不做。

<li><a ng-click="showNews = true; showEvents = false" title="News" href="#">News</a></li> 
<li><a ng-click="showEvents = true; showNews = false" title="Events" href="#">Events</a></li> 

這實際上設置的變量,而不是對它們進行比較,以實際監測ng-click的會發生什麼更好的是一個功能添加到您的控制器的範圍和測試功能。但這會奏效!

考慮,你只會顯示一個div的時間,你也可以做一些更簡潔的方法,像這樣:

<li><a ng-click="show = 'news'" title="News" href="#">News</a></li> 
<li><a ng-click="show = 'events'" title="Events" href="#">Events</a></li> 

<div ng-show="show === 'news'">News</div> 
<div ng-show="show === 'events'">Events</div> 

編輯:控制方式:https://jsfiddle.net/yttrms75/

+0

真棒,THX很多: )如果我想將它添加到控制器中,我將如何去解決它? – nuffsaid

+0

在這裏你去:https://jsfiddle.net/yttrms75/ – Pepijn

+0

非常感謝你的幫助:) – nuffsaid