对不起我的语言技能,希望你能理解所有。
我遇到了ng-repeat和过滤数据的问题。 我使用$ index,从ng-repeat数据中获取一些数据。 例如,我有20个元素。当我点击第三个,然后索引是3,并且应用程序显示关于第三个元素的更多数据。 现在,当我使用过滤器时,它不能很好地工作,因为当我过滤最后一个元素,然后点击它,索引是0并且应用程序显示有关第一个元素的更多数据。 我想要做的是,当我过滤,例如,第15个元素,当我点击它时,我得到更多关于第15个元素的数据,而不是第一个。
HTML:
.panel-body ng-repeat=("restaurant in restaurants | filter:search") ng-click="addRestaurant($index);"
a aria-expanded="true" data-parent="#accordion" data-toggle="collapse" style="font-size: 18px;"
i.fa.fa-chevron-right.pull-right.text-muted ng-show="$index == index"
| {{restaurant.name}}
JS SCRIPT:
$scope.addRestaurant = (index) ->
$scope.index = index
$scope.selectedRestaurant = $scope.restaurants[$scope.index].id
答案 0 :(得分:2)
为什么使用 $ index ?您只能使用迭代项
使用强>
$scope.addRestaurant = (restaurant)...
...
ng-repeat=("restaurant in restaurants | filter:search") ng-click="addRestaurant(restaurant);"
不是使用$ index
在 addRestaurant 功能中,您已经点击了餐馆