簡體   English   中英

Angular Active ng-class無法正常工作

[英]Angular active ng-class isn't working properly

我有一些角度代碼,應該為僅單擊鏈接的父元素分配一個類。 最初似乎可行,但隨后單擊一下,代碼似乎卡住了。 這是我正在使用的一些示例代碼:

<div ng-repeat="item in items track by item.id" class="row" ng-class="{'active': selectItem.this == item.id}">
<a ng-click="selectItem.this = item.id">Move to top</a> {{item.name}}

$scope.selectItem = { this: -1 };

http://plnkr.co/edit/jhahff7OyVTVt615BBp3?p=preview

任何幫助將是巨大的!

您只需要使整個文本成為可點擊的DOM

<div ng-repeat="item in items track by item.id" class="row" ng-class="{'active': selectItem.this == item.id}">
  <a ng-click="selectItem.this = item.id">Move to top <span ng-bind="item.name"></span></a> 
</div>

我用p標簽替換了a標簽,並將click事件綁定到p標簽。 通過這種重構,我看不到任何滯后或怪異的行為。

<body ng-controller="MainCtrl">
  <div ng-repeat="item in items track by item.id" class="row" 
       ng-class="{'active': selectItem.this == item.id}">
       <p style="cursor: pointer;" ng-click=selectedItem()>
           Move to top {{item.name}}
       </p> 
  </div>
</body>

在控制器中

$scope.selectItem = {};
$scope.selectedItem = function () {
  $scope.selectItem.this = this.item.id;
};

讓我知道您是否仍然有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM