2016-05-19 6 views
0

Ich habe diesen Code für meine Viewmodel fragen, warum seine nicht drucken Drucken mein Array in HTMLKnockoutJS foreach Ausfall json Array in HTML

$(document).ready(function() { 
var MasterViewModel = function (model) { 
    var self = this; 
    debugger; 
    self.ListOfSup = ko.observableArray([{ "Id": 1, "Name": "EpicT", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 2, "Name": "EpicT", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 3, "Name": "SuperT", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 4, "Name": "DBl", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 5, "Name": "Wins", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 6, "Name": "Oxand", "Brand": "X", "OriginCountry": "SH", "Reviews": null }, { "Id": 7, "Name": "Whey", "Brand": "GS", "OriginCountry": null, "Reviews": null }]); 
    self.Hoi = ko.observable("Hello Knockout"); 
} 

var masterModel = new MasterViewModel(); 
ko.applyBindings(masterModel); 

}) 

Hier (hoi = richtig gedruckt wird) ist der Code für HTML:

<h2 data-bind="text: Hoi">Ko</h2> 
<tbody data-bind="foreach: ListOfSup"> 
    <tr> 
     <td data-bind="text: Name"></td> 
     <td data-bind="text: Brand"></td> 
    </tr> 
</tbody> 

Fahren mich zum Wahnsinn. Ist mein Array nicht Json genug?

Antwort

1

Sie haben eine ungültige HTML: Sie table Elemente fehlen der Browser (mindestens Chrome) um die tbody

In diesem Fall kann die alleinige tbody nicht interpretieren und entfernt sich nur vollständig aus dem DOM

So ist

das Update ganz einfach: fügen Sie den table:

<h2 data-bind="text: Hoi">Ko</h2> 
<table> 
    <tbody data-bind="foreach: ListOfSup"> 
     <tr> 
      <td data-bind="text: Name"></td> 
      <td data-bind="text: Brand"></td> 
     </tr> 
    </tbody> 
</table> 

Demo JSFiddle.

+0

Danke für Ihre Lösung! – Developerdeveloperdeveloper