Javascript 突出显示ng repeat中的选定行,仅在HTML中使用逻辑

Javascript 突出显示ng repeat中的选定行,仅在HTML中使用逻辑,javascript,angularjs,ng-repeat,angularjs-ng-click,Javascript,Angularjs,Ng Repeat,Angularjs Ng Click,这是我们的后续问题 在这里,这一行是使用controller中定义的函数高亮显示的。我想换一种方式,只使用HTML中的代码。 下面是我试过的打捞器。 请分享您对这个问题的看法: <tr ng-repeat="item in items" ng-init="selectedRow = null" ng-class="{'selected':selectedRow == $index}" ng-click="selectedRow=

这是我们的后续问题

在这里,这一行是使用controller中定义的函数高亮显示的。我想换一种方式,只使用HTML中的代码。 下面是我试过的打捞器。 请分享您对这个问题的看法:

<tr ng-repeat="item in items" 
         ng-init="selectedRow = null"
          ng-class="{'selected':selectedRow == $index}" 
          ng-click="selectedRow=$index" ></tr>

看看这个

看看这个


您的问题是
ng repeat
将在每个迭代中创建自己的子范围,每个迭代都有自己的
selectedRow
变量。这就是为什么单击它会激活类,但不会删除,因为下一行正在设置
selectedRow
变量的不同实例

您可以使用
$parent.selectedRow
引用
selectedRow
,也可以重新构造
$scope
以公开绑定到的属性。后者回避了一些人报告的直接使用
ng模型
范围的问题

$scope.model = {
    items: [],
    selectedRow: 0
}

您的问题是
ng repeat
将在每个迭代中创建自己的子范围,每个迭代都有自己的
selectedRow
变量。这就是为什么单击它会激活类,但不会删除,因为下一行正在设置
selectedRow
变量的不同实例

您可以使用
$parent.selectedRow
引用
selectedRow
,也可以重新构造
$scope
以公开绑定到的属性。后者回避了一些人报告的直接使用
ng模型
范围的问题

$scope.model = {
    items: [],
    selectedRow: 0
}

请从下面的例子中获得想法:-

使用ng类奇数ng类偶数

  • {{name}}


  • 请从下面的例子中获得想法:-

    使用ng类奇数ng类偶数

  • {{name}}


  • 如果您想使用CSS处理上述情况,请使用angularJSng类偶数ng类奇数的flovor


    因此,在执行时,两者都将渲染,但任何一个都将生效。

    如果您想使用CSS处理上述情况,请使用angularJSng类偶数ng类奇数的flovor


    因此,在执行时,两者都会呈现,但任何一个都会起作用。

    解释得好,请添加示例或带有答案的任何plnk链接,这将使您易于理解。解释得好,请添加示例或带有答案的任何plnk链接,ng-repeat可用于开发人员想要重复的任何HTML。ng-repeat可用于开发人员想要重复的任何HTML。我喜欢你解释的方式。我喜欢你解释的方式
    $scope.model = {
        items: [],
        selectedRow: 0
    }