angular.js - angularjs中相同的方法,如何做到觸發只對目前元素有效。
为情所困
为情所困 2017-05-15 17:04:52
0
2
571


大圖里三個部分是從後台讀取資料然後綁定用ng-repeat出來的,要實現的功能是點擊各個部分最右邊的小角標,當前部分能展開或者收起,但是由於ng-repeat,連方法名稱和ng-show='myVar'都是一樣樣的,會導致點任何一個角標整片收縮或展開;
這段程式碼是要ng-repeat的底程式碼,還未做修改成,

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

全部回覆(2)
習慣沉默

我覺得你在ng-repeat的時候,加上track by $index,並將$index傳入toggle()。宣告一個myVar數組,長度跟你需要repeat的長度相同,數組的值都設為true,使用ng-if="myVar[$index]"剛開始都顯示。
在點擊展開收縮按鈕時toggle($index),將數組中對應位置的值取反就行了。

仅有的幸福

因為你還沒用ng-repeat,所以不行,換成ng-repeat就沒問題了
另外,你不用寫一個toggle,直接ng-click="myVar=!myVar"就好了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!