1

我有一种情况,我根据表达式对数据进行排序:

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>

因此,无论何时用户单击列表中的一个,无论它是流行的还是最新的,都会激活所选课程。我怎样才能表达 ng-class 以便激活列表上的选定类。这是没有 ng-repeat 的地方,我可以使用 $index 和 onselect 我们可以活动类。我怎么能在这里做到这一点?

4

3 回答 3

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

于 2014-05-07T12:00:15.113 回答
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>
于 2014-05-07T12:05:55.060 回答
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是根据所选列表激活的类名称。

于 2014-05-07T12:13:44.920 回答