2016-04-26 3 views
0

Ich habe folgenden HTML-Code, der in AngularJS Rahmen eine Vorlage gehört:ng Wiederholung nicht zurück Variable aus JSON-Datei

<ul class="sb-parentlist"> 
    <h1 class={{headerClass}}> Popular</h1><div data-ng-repeat="data in data track by $index"> 
    <li> 
     <span class="sb-text-title" href="#" ng-click="openFaq = ! openFaq"><b>{{data[$index].faq.frage |translate}}</b></span> 
        <span ng-show="openFaq" class="sb-text"> 
         <br> 
         {{data[$index].faq.antwort |translate}} 
        </span> 
    </li> 
     </div> 
    </ul> 

ich die Anzahl der „li“ Elemente in meinem Browser korrekt auf Druck bekommen die Ergebnisse, aber die Variablen sind nicht so definiert, wie sie sein sollten, leere Einträge erscheinen. hier ist der JSON-Eintrag:

{ 

     "faq": 
     {"frage":"HB_START_FAQ_Q", 
      "antwort":"HB_START_FAQ_A"} 
     , 
     "screencast":"HB_START_SCREENCAST" 
    }, 
    { 

     "faq": 
     {"frage":"HB_START_FAQ_Q_1", 
      "antwort":"HB_START_FAQ_A_1"} 
     , 
     "screencast":"HB_START_SCREENCAST_1" 
    }, 
    { 

     "faq": 
     {"frage":"HB_START_FAQ_Q_2", 
      "antwort":"HB_START_FAQ_A_2"} 
    , 
     "screencast":"HB_START_SCREENCAST_2" 
    }, 
    { 

     "faq": 
     {"frage":"HB_START_FAQ_Q_3", 
      "antwort":"HB_START_FAQ_A_3"} 
    , 
     "screencast":"HB_START_SCREENCAST_3" 
    } 

Ich bin daran interessiert, das verschachtelte Element zu erhalten. Irgendwelche Ideen?

Antwort

1

Da data ist nicht eindeutig zwischen dem Kollektionsnamen und das Element iteriert werden - Ihre ngRepeat Syntax ändern:

data-ng-repeat="item in data track by $index" 

Und item[$index] verwenden. Ich bin nicht ganz sicher, warum Sie nicht nur data.faq tun - Sie müssen durch die $index

auswählen