angular.js - angularjs中相同的方法,如何做到触发只对当前元素有效。
为情所困
为情所困 2017-05-15 17:04:52
0
2
520


大图里三个部分是从后台读取数据然后绑定用ng-repeat出来的,要实现的功能是点击各个部分最右边的小角标,当前部分能展开或者收起,但是由于ng-repeat,连方法名和ng-show='myVar'都是一样样的,会导致点任何一个角标整片收缩或展开;
这段代码是要ng-repeat的底代码,还未做修改成,

$scope.myVar=false; $scope.toggle=function(){ this.myVar=!this.myVar; }
为情所困
为情所困

全員に返信 (2)
習慣沉默

ng-repeat時に$indexでトラックを追加し、$indexをtoggle()に渡すと良いと思います。繰り返す必要がある長さと同じ長さの myVar 配列を宣言し、配列の値を true に設定し、ng-if="myVar[$index]" を使用して先頭に表示します。
展開ボタンと縮小ボタンをクリックすると、toggle($index) は配列内の対応する位置の値を反転するだけです。

いいねを押す+0
    仅有的幸福

    まだ ng-repeat を使っていないので、ng-repeat に切り替えれば問題ありません。
    なお、トグルを書く必要はなく、ng-click するだけです。 ="myVar=!myVar"

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!