使用ng-click

时间:2015-12-29 14:30:07

标签: angularjs mongodb angular-meteor

我想:

  
      
  • 当用户使用ng-repeat
  • 点击它们时,有一个列表可以获得活动课程   

我做了一些编码:

<ul class="nav nav-pills center-pills">
  <li ng-repeat="kit in kits"><a href="">{{kit.name}}</a></li>
</ul>

和控制器:

$meteor.subscribe('kits').then(function (){
  $scope.kits = $meteor.collection(Kits, false);
});

这将从mongo数据库集合中返回kits的列表。

最好的方法是什么?

谢谢!

修改

我添加了以下代码:

<ul class="nav nav-pills center-pills">
  <li ng-repeat="kit in kits" ng-class="{'active': selectedItem == kit.name}"><a ng-click="selectedItem = kit.name" href="">{{kit.name}}</a></li>
</ul>

但是当我点击另一个li

时,活动类没有被删除

EDIT2

这是第一个活动的代码,但是当我点击不具有活动类的不同类时,它们仍然存在问题而不是删除活动类。

<ul class="nav nav-pills center-pills" ng-init="activeIndex = 0">
  <li ng-repeat="kit in kits" ng-class="{active:(activeIndex==$index)}"><a ng-click="activeIndex = $index" href="">{{kit.name}}</a></li>
</ul>

EDIT3

这是我现在的代码(仍然是相同的结果):

<li ng-repeat="kit in kits" ng-class="{'active': selectedItem == kit.name}" ng-init="selectedItem = kits[0].name"><a ng-click="selectedItem = kit.name" href="">{{kit.name}}</a></li>

1 个答案:

答案 0 :(得分:1)

您只想要一个相同类型的活动元素或在每个LI用户上添加类会点击吗?

当时只选择了一个元素

<ul class="nav nav-pills center-pills">
  <li ng-repeat="kit in kits" ng-class="{'active': selectedItem == kit.name}">
    <a href="" ng-click="selectedItem = kit.name">{{kit.name}}</a>
  </li>
</ul>

有多个选择

<ul class="nav nav-pills center-pills">
  <li ng-repeat="kit in kits" ng-class="{'active': kit.active}">
    <a href="" ng-click="kit.active = !kit.active">{{kit.name}}</a>
  </li>
</ul>