2014-05-14 4 views
0

이온 성 골격을 사용하고 있습니다.Ng-click은 이온 슬라이드 내에서 제한됩니다.

ng-repeat에서 여러 슬라이드 상자를 생성했습니다. 각 슬라이드 상자마다 이온 슬라이드의 버튼을 클릭 할 때 아래에 표시되는 섹션이 필요했습니다. 아래 코드는 내가 무엇을하려고하고 무엇이 효과가 있고 작동하지 않는지를 설명합니다. 어떤 도움이라도 대단히 감사하겠습니다!

<ion-slide-box show-pager="false"> 

    <ion-slide> 
     TEST111111111111 
    </ion-slide> 

    <ion-slide> 
     TEST222222222222 
    </ion-slide> 

    <ion-slide> 
     TEST333333333333 

     <button class="button button-dark" ng-click="test = !test"> 
     Test 
     </button> 

     Works > True or False? > {{test}} 
    </ion-slide> 

</ion-slide-box> 

Does not work > True or False? > {{test}} 
+0

에 대한 값을 초기화 있는지 확인? 컨트롤러에 코드가 있습니까? 그것은 자식 범위 (ng repeat는 매번 자식 범위를 생성합니다)에 채워지는'test'의 범위 문제처럼 보입니다. 그러나 우리가 더 많은 정보를 제공하지 않는다면 알려주지는 않습니다. – Riron

답변

3

당신은 . (점)의 변수를 사용해야합니다. Understanding Scopes in AngularJs

<ion-slide-box show-pager="false"> 

    <ion-slide> 
     TEST111111111111 
    </ion-slide> 

    <ion-slide> 
     TEST222222222222 
    </ion-slide> 

    <ion-slide> 
     TEST333333333333 

     <button class="button button-dark" ng-click="someObject.test = !someObject.test"> 
     Test 
     </button> 

     Works > True or False? > {{someObject.test}} 
    </ion-slide> 

</ion-slide-box> 

Does not work > True or False? > {{someObject.test}} 

를 확인하고 컨트롤러에서 당신은 또한 someObject 당신이 우리에게 더 자세한 정보를 제공 할 수

$scope.someObject = { 
    test: false 
};