2012-12-03 2 views
0
작동하지 않음에 AngularJS와입니다

http://jsfiddle.net/maxl/tNZAm/102/왜이 jsFiddle이

내가이 배열 목록 리피터를 기대 :

기능 MyControl를() { var에 자체 =이;

self.values = ["a","b","c","d","e","f"]; 
self.selectedIndex = -1; 

self.toggleSelect = function(ind){ 
    if(ind === self.selectedIndex){ 
     self.selectedIndex = -1; 
    } else{ 
     self.selectedIndex = ind; 
    } 
} 

self.getClass = function(ind){ 
    if(ind === self.selectedIndex){ 
     return "selected"; 
    } else{ 
     return ""; 
    } 
} 

self.getButtonLabel = function(ind){ 
    if(ind === self.selectedIndex){ 
     return "Deselect"; 
    } else{ 
     return "Select"; 
    } 
} }​ 

답변

1

당신은 DOM에 $scope 부착 주 데이터를 사용한다. 또한, Angular.js를 두 번 ("Choose Framework"드롭 다운을 통해 한 번, "Add Resources"패널을 통해 한 번)로드 했으므로 매우 이상한 버그가 발생했습니다.

는 다음 작업 jsFiddle입니다 : http://jsfiddle.net/BinaryMuse/tNZAm/103/

function MyControl($scope){ 
    $scope.values = ["a","b","c","d","e","f"]; 
    $scope.selectedIndex = -1; 

    $scope.toggleSelect = function(ind){ 
     if(ind === $scope.selectedIndex){ 
      $scope.selectedIndex = -1; 
     } else{ 
      $scope.selectedIndex = ind; 
     } 
    } 

    $scope.getClass = function(ind){ 
     if(ind === $scope.selectedIndex){ 
      return "selected"; 
     } else{ 
      return ""; 
     } 
    } 

    $scope.getButtonLabel = function(ind){ 
     if(ind === $scope.selectedIndex){ 
      return "Deselect"; 
     } else{ 
      return "Select"; 
     } 
    } 
}​ 
+0

덕분에, 나는 .this의 사용을 허용 각도의 이전 버전을 사용하는 jsFiddle에서이 예제를 복사 .... –