2017-01-18 3 views
0

Ich bin ein Anfänger in Web-Entwicklung und mit AngularJS, so dass ich um jedes Feedback betteln.AngularJS Zwei Listen: Eine Liste enthält alle Umfragefragen und die andere Liste enthält alle Umfrageantworten.

Ich habe eine Liste von Umfragefragen und ich habe ein Popup-modal, wo der Benutzer ihre Antwort geben kann. Über 500 Umfragefragen werden aus einer Tabelle abgerufen und in ein Array zur Anzeige in der Ansicht eingefügt. Wenn der Benutzer auf jede Frage antwortet, werden diese Antworten in eine separate Tabelle eingegeben. Ich habe über 200 Personen, die an dieser Umfrage teilnehmen, und niemand kann die Antworten der anderen sehen. Meine Frage ist, wie kann ich die Fragen markieren/verbergen, die sie bereits beantwortet haben? Meine Anfänger gehen zur Lösung war eine for-Schleife und iterieren über die erste Liste mit den Fragen und dann eine andere for-Schleife, um über die Antworten zu iterieren. Wenn die Frage-ID in der zweiten Tabelle gefunden wurde, wird sie in ein neues Array eingefügt, wo angezeigt wird, dass die Frage beantwortet wurde. Aber weil es so viele Antworten und Fragen gibt, ist das System abgestürzt. Wenn mir jemand helfen kann, eine Lösung dafür zu finden, lass es mich wissen. Vielen Dank im Voraus.

+0

ich glaube, Sie ein ng-if-Bedingung in Ihren Fragen der, um herauszufinden, verwenden können, wenn Frage wurde beantwortet. Das ng-if sollte eine Bedingung haben, wo es herausfinden kann, ob die Frage beantwortet wurde – CrazyMac

+0

Das hat funktioniert! Ich danke dir sehr! Das einzige Problem, das ich jetzt habe, ist, die Note aus dem Popup-Modal auf meine Seite zu schieben, ohne dass ich sie aktualisieren muss, um die Änderungen zu sehen. – Jae

+0

Ich bin mir nicht sicher, wenn Sie sagen, dass Sie die Note aus dem Popup-Modal schieben. Bitte erklären Sie es. – CrazyMac

Antwort

0

können Sie verwenden ng-repeat Fragen angezeigt werden und in dieser Verwendung ng-falls mit der Bedingung, zum Beispiel:

<div ng-repeat="q in question" ng-if="!q.answer"> 
    //all the stuff to display question 
</div> 
+0

Das hat es definitiv funktioniert. Danke für ihre schnelle Antwort! – Jae

+0

Ist es hilfreich für Sie? dann als Antwort annehmen! – Jenny

Verwandte Themen