2014-10-01 1 views
0

기본적으로 내 컨트롤러 (이동할 예정)에 json이 있습니다. id, questionName, 대답입니다.각도가 증가합니다

각 질문을 아래 코드에 표시하고 싶습니다. 한 번에 한 가지 질문. 예/아니오에 대한 A 링크를 클릭하면 다음 질문으로 이동합니다.

나는 json에 관련된 id 인 초기 0으로 "count"를 사용하여 증가시킬 수 있었으면 좋겠다. 그리고 마지막 질문까지 증가 할 것이다. 그러나 이것은 효과가없는 것처럼 보입니다. 또는 적어도 구현하지 않습니다.

충분히 명확하길 바랍니다. 이것은 설명하기 어렵다.

app.controller('testYourself', ['$scope', function($scope) { 
$scope.quiz = [ 
{id:0, name:"q1", answer: [{0: 'a', 1: 'b}], weight:25} 
]; 

는 ID의 나에게 필요하지만 시도하고 내가하려고했던 일을 추가 :

<div class="row" id="dropdown" ng-controller="testYourself"> 
     <div id="q" class="cta1_content ugh" style="display:none;"> 
     <div ng-repeat="data in quiz" ng-show="count==0" data-ng-init="count=0"> 
      <h2 class="text-center">{{data.name}}</h2> 
      <div class="col-xs-6 col-md-3 col-md-offset-3 text-center yesno"> 
       <a href="#" class="q" data-question="{{count}}" data-answer="1" ng-click="count=count+1"> 
        <span class="cta_next"><i class="icon ion-checkmark-round"></i></span> 
       </a> 
      </div> 
      <div class="col-xs-6 col-md-3 text-center yesno"> 
       <a href="#" class="q" data-question="{{count}}" data-answer="0" ng-click="count=count+1"> 
       <span class="cta_next"><i class="icon ion-close-round"></i></span> 
       </a> 
      </div> 
     </div>     
    </div> 
    </div> 

내 컨트롤러는 다음과 같습니다. (나는 Angular에 2 일간 새로 왔습니다).

<div id="q" class="cta1_content ugh" ng-controller="testYourself" data-ng-init="count=0"> 
    <div ng-repeat="data in quiz" ng-show="data.id==count"> 
     <h2 class="text-center">{{ data.name }} {{count}}</h2> 
     <div class="col-xs-6 col-md-3 col-md-offset-3 text-center yesno"> 
      <a href="#" class="q" data-question="{{data.id}}" data-answer="1" ng-click="count=count+1"> 
       <span class="cta_next"><i class="icon ion-checkmark-round"></i></span> 
      </a> 
     </div> 
     <div class="col-xs-6 col-md-3 text-center yesno"> 
      <a href="#" class="q" data-question="{{data.id}}" data-answer="0" ng-click="count=count+1"> 
       <span class="cta_next"><i class="icon ion-close-round"></i></span> 
      </a> 
     </div> 
    </div> 
</div> 
+1

컨트롤러 코드를 게시하면 실제 코드없이 알아낼 수 없습니다. –

+0

감사합니다. 업데이트했습니다. – user1496093

답변

0

그럼 일이 여기에가는 숫자가 종료되는 ------ 당신에게

UPDATE 감사드립니다.

  1. 게시 된 js 코드의 구문 오류가 많습니다. 따라서 실제 코드에서 붙여 넣은 경우에는 중괄호, 대괄호 및 따옴표를 추가하는 것이 좋습니다.
  2. #q에는 인라인 스타일이 있습니다. 이는 내용이 보이지 않음을 의미합니다. 각도가 있으면 필요한 것은 모두 ng-show이고 나머지는 라이브러리에서 처리합니다. 그래서 제거하고 질문 1을보아야합니다.
  3. 아마 #q와 같은 요소에 ng-init을 넣길 원할 것입니다. ng-repeat는 새로운 스코프를 생성하기 때문에 컨트롤러의 범위보다는 반복의 범위에 포함됩니다.

희망이 있습니다.

+0

1. 당신은 옳았습니다. 그것은 코드를 추출하는 것까지였습니다. js는 유효합니다. 2. 원래 jQuery에서이 기능을 구현했습니다. 3. 위 코드를 업데이트했습니다. 계산 루프가 "data-question"행을 올바르게 업데이트하지만 ng-show = "data.id == count"는 변경되지 않으므로 어떤 질문을 표시할지 변경하지 않습니다. 의견을 보내 주셔서 감사합니다. – user1496093

+0

첫 번째 질문을 올릴 때 올바르게 나타납니다. 예/아니오 링크 중 하나를 클릭하면 질문이 사라지고 더 이상 렌더링되지 않습니다. – user1496093

+0

당신이 증가하고있는'count'가 ng-repeat 범위에 있다고 생각합니다. '$ parent.count ++'시도해보십시오 – threeve