Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度主动ng类为';t工作不正常_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 角度主动ng类为';t工作不正常

Javascript 角度主动ng类为';t工作不正常,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有一些angular代码,它应该只为链接的父元素分配一个类。一开始这似乎是可行的,但在点击一点之后,代码似乎被卡住了。以下是我正在使用的一些示例代码: <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 to

我有一些angular代码,它应该只为链接的父元素分配一个类。一开始这似乎是可行的,但在点击一点之后,代码似乎被卡住了。以下是我正在使用的一些示例代码:

<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}}


任何帮助都会很好

您只需将整个文本设置为可单击的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>

上台

我将a标记替换为p标记,并将单击事件绑定到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>

如果您仍然看到任何问题,请告诉我。

在加载一段时间后,它对我来说运行良好。我想这只是你点击的地方太挑剔了。您可以添加css,使“a{cursor:pointer;}”在您将鼠标悬停在它上面或不悬停在它上面时更加明显;问题是文本中只有一部分是锚。点击
“移到顶部”
有效,点击
“项目”
无效。
<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;
};