gpt4 book ai didi

javascript - ng 类不工作。我哪里做错了?

转载 作者:技术小花猫 更新时间:2023-10-29 11:38:40 26 4
gpt4 key购买 nike

我知道这里列出了很多问题。但我无法确定我做错了什么..

<li ng-repeat="item in type.sub | orderBy:y" ng-click="openpic($parent.$index, $index)" ng-class="{ 'active': $parent.$index + ':' + $index == current }">

我们有$scope.current变量,以及带有编号 ID 的嵌套菜单,如 1:2、1:3、1:4、2:1、2:2、2:3 等。

目标很简单。我需要做这个 <li>事件,如果 $parent.$index:$index等于$scope.current .每当 openpic($parent.$index, $index) 时设置 ID触发。我们有li.active css中的类。

那么,有人可以告诉我,该代码中缺少什么吗?

尝试 1:

尝试过:

<li ng-repeat="item in type.sub | orderBy:y" ng-click="openpic($parent.$index, $index)" ng-class="{ 'active': $parent.$index + ':' + $index == $parent.current }">

还是不行。

尝试 2

我有这样的东西:

ng-class="{{ $parent.$index + ':' + $index == $parent.current && 'active' || '' }}"

它显示为 ng-class="active"但是class属性没有更新。

尝试 3

ng-class="{{ $parent.$index + ':' + $index == $parent.current && 'highlight' || '' }}"

它显示ng-class='highlight" , 但类仍然显示 class="ng-binding ng-scope"

尝试 4

ng-class="isActive($parent.$index,$index)"

它解决了问题,但对于一个简单的开关功能来说似乎有点过分了。还有更多想法吗?

尝试 5

根据适用于 TRY 4 的 major-mann 代码建议,我进行了这些调整,令人惊讶的是,它有效。

ng-class="$parent.$index + ':' + $index == $parent.current && 'active' || ''"

那个有效。完全移除所有大括号????

最佳答案

首先制作 {{$parent.$index:$index}} 以确保获得正确的数据(我从来没有遇到过这样的数据访问方法);
如果没问题,那么尝试使用:

ng-class="$parent.$index:$index === current ? 'active' : ''"

或者(最好的方法)为此使用函数:

ng-class="someFn($parent.$index)"
$scope.someFn = function(index){
//index, index:index, index[n] or something else;
return index === $scope.current ? 'active' : '';
};

更新:
如果你想访问父 ng-repeat,最好使用

<...  ng-repeat="(index1, data1) in firstData">
<... ng-repeat="(index2, data2) in secondData">
<... ng-something="index1 operator index2 or function(index1, index2)">

希望对你有所帮助

关于javascript - ng 类不工作。我哪里做错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com