-1
私の言語スキルは申し訳ありません。AngularJS:ng-repeat、filter and index
ng-repeatとフィルタデータに問題があります。 ng-repeatデータから何らかのデータを取得するために、$ indexを使用しています。 たとえば、私は20の要素を持っています。 3番目の要素をクリックするとインデックスが3になり、アプリケーションは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
なぜない]をクリックしたaddRestaurant機能にだけ反復項目
使用$インデックス
と
ませんを使用することができますちょうどrestaを送るurantオブジェクトを関数 'ng-click =" addRestaurant(レストラン) 'にコピーして使用しますか? – war1oc
検索フィルターはどこに定義されていますか?リストビューと詳細ビューで同じ要素を使用するのはなぜですか?どのようなHTML(テンプレート?)構文ですか? – Markus
@ war1ocありがとう、今私はレストランのオブジェクトを送信します。私は機能のカップルの変更を作って、今すぐうまくいく! –