2017-09-26 1 views
-1

Ich habe das folgende Beispielschnipsel. Ich möchte mein unter json Objekt in der eckigen Tabelle durch ng-repeat zeigen, die ich von meinem angular controller Drehbuch generiere. Ich habe das unten getan, aber ich bin nicht sicher, warum Tabelle nicht erzeugt und seine Daten nicht zeigen. Bitte lassen Sie es mich wissen und ich bin mir nicht sicher, was hier falsch ist. Fiddle verfügbar.Kann Angularjs-Tabelle mit ng-repeat in Controller nicht generieren?

benötigen Ausgabe zu erhalten wie smiliar:

Text IND US UK AUS 
No 100 200 170 50 

html:

<div ng-controller="TestCtrl"> 
</div> 

app.js:

var testmodule = angular.module('myModule', []); 
testmodule.controller('TestCtrl', function ($scope) { 
    $scope.mydata = [{ 
    "a": ["IND", "US", "UK", "AUS"], 
    "b": ["100", "200", "170", "50"], 
    "c": "Text", 
    "d": "No", 
}]; 

var mytable= angular.element(' <div class="table-responsive"> <table class="table" ng-repeat="item in mydata track by $index"> <thead> <tr> <td>{{item.c}}</td><td ng-repeat="c1 in item.a track by $index">{{c1}}</td></tr></thead> <tbody> <tr> <td>{{p.d}}</td><td ng-repeat="d1 in p.b track by $index">{{d1}}</td></tr></tbody> </table> </div>'); 
console.log("mytable: "+JSON.stringify(mytable)); 
}); 
+0

Wie erwarten Sie die Konsole.log aussehen? –

Antwort

0

Zuerst würde ich die HTML-Datei auf den HTML-Code setzen Seite statt als Element im Controller. . Zweitens Sie p.d und p.b zugreifen wollten, aber diese Felder sind in item von Ihrem ng-Repeat (so sollte item.d und item.b sein Sieht aus wie das funktioniert:

HTML:

<div ng-controller="TestCtrl"> 
    <div class="table-responsive"> 
     <table class="table" ng-repeat="item in mydata track by $index"> 
     <thead> 
      <tr> 
      <td>{{item.c}}</td> 
      <td ng-repeat="c1 in item.a track by $index">{{c1}}</td> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
      <td>{{item.d}}</td> 
      <td ng-repeat="d1 in item.b track by $index">{{d1}}</td> 
      </tr> 
     </tbody> 
     </table> 
    </div> 
</div> 

JavaScript:

var testmodule = angular.module('myModule', []); 
testmodule.controller('TestCtrl', function ($scope) { 
    $scope.mydata = [{ 
    "a": ["IND", "US", "UK", "AUS"], 
    "b": ["100", "200", "170", "50"], 
    "c": "Text", 
    "d": "No", 
}]; 

}); 

Arbeits Plunker: HERE

-

UPDATE: Wie Sie die Ausgabe Ihrer Winkelelement an der Konsole scheint wollen, sollten Sie wissen, dass Mytable ein Winkelelement kein json Objekt so Sie werden es nicht in der Lage sein stringify. ..

+0

danke für Ihre Antwort, aber ich kann das gleiche in HTML generieren, aber ich muss das gleiche nur im Controller generieren, nicht in HTML wie oben. – Sana

+0

@Sana Deine Frage ist dann ziemlich irreführend, wie du sagst "Ich habe das Folgende getan, aber ich bin mir nicht sicher, warum die Tabelle nicht generiert und es Daten nicht anzeigt ..." dann sagst du: "Müssen ausgegeben werden" (und dann zeigst du die Ausgabe, die ich zur Verfügung stelle). Was versuchst du zu erreichen? Scheint meine Antwort löst das Problem ... –

+0

Ich brauche meine ähnliche Ausgabe wie oben Tabelle nur aus Controller-Skript, ich sollte nichts in HTML-Datei schreiben. – Sana

Verwandte Themen