Also im Grunde habe ich dieses Menü mit ng-repeat erstellt, wo es ein Feld von Objekten innerhalb eines Arrays anzeigt. Dann, wenn ich auf eines dieser angezeigten Felder klicke, möchte ich ein weiteres ng-repeat machen, das die anderen unten drücken wird. Ich möchte nur diese zweite ng-Wiederholung beim Klicken aktivieren und auch rückgängig machen, wenn der Benutzer erneut klickt. Das bedeutet, dass ng-repeat nur auftritt, nachdem der Benutzer auf eine Schaltfläche geklickt hat.aktiviere ng-repeat mit ng-click
Irgendwelche Ideen, wie ich das ausführen sollte?
<div ng-repeat="collection in library" ng-click="setCollection(collection)">
<li class="list-group-item">{{collection.Collection}}</li>
</div>
Und hier habe ich einige Code aus der JS-Datei
$scope.library = [
{
Collection: "Harry Potter",
value: false,
books: [
{
book: "Sorcerer Stone",
value: false
},
{
book: "Goblet of Fire",
value: false,
}
]
},
{
Collection: "LOTR",
value: false,
books: [
{
book: "Two Towers",
value: false
},
{
book: "Return of the King",
value: false,
}
]
}
];
$scope.setCollection = function(collection){
collection.value = !collection.value;
};
Also, wenn der Benutzer auf die Sammlung klickt ng-wiederholt alle Bücher direkt unter dem Kollektionsnamen. Wenn Sie erneut auf dieselbe Sammlung klicken, werden alle wieder ausgeblendet. Wenn Sie auf ein Buch klicken, nachdem Sie auf die Sammlung geklickt haben, möchte ich, dass der Wert auf! Wenn Sie den Wert auf "True" oder "False" setzen, müssen Sammlungen und Bücher funktionieren.
Danke
Zeigen Sie uns Ihren Code. Sie können eine Klasse anwenden, um das Objekt anzuzeigen, oder verwenden Sie ng-Show, um es nach Bedarf anzuzeigen.] – Fals
Ich habe gerade etwas Code und einige weitere Wörter hinzugefügt, um meinen Fall zu erklären. –
Überprüfen Sie meine Lösung, sehen Sie, ob es hilft @ N.Car – codeninja