Ich möchte eine Kategorie Hierarchiedaten zeigen, und ich verwende AngularJS mit ng-repeat und ng-if.Here in mein Demo-Datei:anzeigen Kategorie Hierarchie AngularJS
<div ng-app="" ng-controller="DanhMucController">
<ul>
<li ng-repeat="danhmuc in DanhMucList" ng-if="danhmuc.depended==0">{{danhmuc.name}}
<ul>
<li ng-repeat="danhmuc in DanhMucList" ng-if="danhmuc.depended==2">
{{danhmuc.name}}
<ul ng-repeat="danhmuc in DanhMucList" ng-if="danhmuc.depended==4">
<li>{{danhmuc.name}}</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Controller:
<script>
function DanhMucController($scope, $http) {
var url = "category.txt";
$http.get(url).success(function(response) {
$scope.DanhMucList = response;
});
}
</script>
diese Datei Kategoriedaten:
[{
"id": "1",
"name": "Parent1",
"depended": "0"
}, {
"id": "2",
"name": "Parent2",
"depended": "0"
}, {
"id": "3",
"name": "Parent3",
"depended": "0"
}, {
"id": "4",
"name": "ChildA",
"depended": "1"
}, {
"id": "5",
"name": "ChildB",
"depended": "2"
}, {
"id": "6",
"name": "ChildC",
"depended": "3"
}, {
"id": "7",
"name": "grandChildA",
"depended": "4"
}, {
"id": "8",
"name": "grandChildB",
"depended": "5"
}, {
"id": "9",
"name": "grandChildC",
"depended": "6"
}, {
"id": "10",
"name": "grandChildD",
"depended": "5"
}, {
"id": "11",
"name": "grandChildE",
"depended": "6"
}, {
"id": "12",
"name": "grandChildF",
"depended": "3"
}]
Aber ich kann nicht die ID des übergeordneten definieren, damit es zeigen Daten nicht, die ich brauche .Es zeigen muss:
-Parent 1 Childa enthalten.
-Parent 2 enthalten ChildB.
-Parent 3 enthalten ChildC.
Jeder kann mir eine Lösung für meine Probleme vorschlagen. Danke an alle
Ich bedauere diese Unannehmlichkeit. Ich habe meine Daten einfach besser geordnet. Kannst du mir helfen, mir Vorschläge zu machen? –
Entschuldigung für die späte Antwort. Ich würde etwas wie [this] (https://embed.plnkr.co/FSgHFURt1aNvnk5Nqv8n/) tun. Bitte beachten Sie die Hierarchie der Daten und der Schleifen, Sie gehen nur über die Kinder eines Objekts, wenn sie existieren und nicht jedes Mal über alle Daten. – nitzanerman
yup .. das stimmt. Du bist ein großartiger Mann: D. Übrigens, können Sie mir bitte eine genauere Erklärung darüber geben, wie dieser Code mit ng-if = "a.children.length> 0" funktioniert? Code hier: [this] (https://embed.plnkr.co/nLZ56CTSml41jOIgQvaM/) und habe ich ein Problem, wenn ich viele Element-Kategorie basierend auf Kategorie-Hierarchie erstellen? –