Ich habe derzeit ein kleines Problem mit einer bestimmten Schleife zum Anzeigen einer Schaltfläche.AngularJS - ForEach Loop
Ich würde gerne eine 'suggetBirdname' Taste abhängig von zwei Aussagen zeigen: 1. Dass der Benutzer nicht Besitzer des Threads ist. 2. Dass der Benutzer noch keinen Vogel auf dem Thread vorgeschlagen hat.
Dies ist, was ich derzeit haben:
// Globelvariable
$scope.showSuggestionButton = false;
var currentSuggestions = res.data.birdsuggestions;
currentSuggestions.forEach(function(suggestions) {
if(suggestions.userId === auth.profile.user_id
&& $scope.capture.birdname==='Unknown') {
$scope.showSuggestionButton = false;
} else {
$scope.showSuggestionButton = true;
}
})
Wie Sie im obigen Code sehen können, sie alle meine Daten des aktuellen Threads durchläuft wir auf der Suche durch die Vorschläge sind. Wie Sie sehen können, setze ich den Standardwert auf $scope.showSuggestionButton = false;
, da er nicht sichtbar sein muss, wenn die obigen Anweisungen nicht übergeben werden.
Das Problem beim Durchlaufen der Schleife ist: Wenn der aktuell angemeldete Benutzer nicht der Letzte ist, der einen Vorschlag gepostet hat, bleibt die Schleife einfach weiter und setzt die Anweisung daher auf "True". Ich brauche einen Weg, um die Schleife zu verlassen, sobald die folgenden Anweisungen ausgelöst werden: suggestions.userId === auth.profile.user_id && $scope.capture.birdname==='Unknown'
Es ist wahrscheinlich und einfache Lösung, aber ich kann einfach nicht den Kopf scheint im Moment um ihn herum zu wickeln ..
Jede Hilfe wird sehr geschätzt.
Zur weiteren Klarstellung:
Im Folgenden werde ich eine Taste, ein Formular zu öffnen, um einen Vorschlag zu schreiben. Ich möchte nur, dass es sichtbar ist, wenn die oben genannten Aussagen gültig sind. Durch die Daten des Beitrags (mit den Vorschlägen verknüpft), möchte ich die Schleife oben verwenden, um die Schaltfläche anzuzeigen.
Haben Sie versucht $ Scope. $ Uhr? –
Können Sie Ihre Logik ausarbeiten? –
Sind Sie sicher, dass Ihre erste if-Anweisung korrekt ausgeführt wird? Ich würde sicherstellen, dass Ihre erste if-Anweisung korrekt auswertet, bevor Sie etwas anderes überprüfen. – Ted