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


大图里三个部分是从后台读取数据然后绑定用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 学習者の迅速な成長を支援します!