2014-05-07 87 views
1

我有我在哪里表达的基础上,对数据进行排序的情况:纳克级Angularjs

HTML:

<ul> 
    <li ng-click="expression = 'created_at'" ng-class="latest_icon: 'selected'" >latest post</li> 
    <li ng-click="expression = 'popularity'" ng-class="popular_post: 'selected'" >popular post</li> 
</ul> 

<div ng-repeat = "data in posts | orderBy::expression:true"> 
    //showing data 
</div> 

所以,只要在列表中的一个用户点击wheather它是流行或最新,选定的课程将被激活。我怎么能给ng-class表达,以便选择的列表上的类被激活。这没有ng-repeat,我可以使用$ index并选择我们可以活跃的类。我怎么能在这里做到这一点?

回答

0

我正在做一些语法错误。我们可以简单地解决这个

<ul> 
    <li ng-click="expression= 'created_at'" ng-class= "latest_icon : expression == 'created_at'">Latest </li> 
    <li ng-click="expression= 'popularity'" ng-class= "popular_icon : expression == 'popularity'">Latest </li> 
</ul> 

这里latest_iconpopular_icon是根据选择的列表,它激活类的名字。

1

我不知道你要应用的类,但你可以这样做

<ul> 
    <li ng-click="expression = 'created_at';selectedOption='latest'" ng-class="{latest_icon:true, 'selected':selectedOption=='latest'}" >latest post</li> 
    <li ng-click="expression = 'popularity';selectedOption='popular'" ng-class="{popular_post:true, 'selected':selectedOption=='popular'}" >popular post</li> 
</ul> 

这里我们创建的范围变量selectedOption,设置它的上ng-click值,并检查它在ng-class表达。

0

以下是我的代码中的条件ng-class属性的示例。

div(ng-class="{'fixed':isFixed}") 

所以从这个我认为你的代码应该是这个样子:

<ul> 
    <li ng-click="expression = 'created_at'" class="created_at" ng-class="'selected' : expression=='created_at'" >latest post</li> 
    <li ng-click="expression = 'popularity'" class="popular_post" ng-class="'selected' : expression=='popularity'" >popular post</li> 
</ul>