尝试使用 Knockout.js 显示包含集合的变量时出现问题

Issues attempting to display variable containing collections using Knockout.js

前提:

我正在玩淘汰赛,一直在尝试通过 html table 显示填充的数组变量。

问题:

问题是我不知道如何在如下所示的变量数组中显示"last_name" 属性。

JSON 文件 + HTML 文件:

 //JSON FILE
 $(function() 
 {
    console.log('Ready');

    ko.applyBindings(new myvm());
 }

 function myvm() 
 {
     var self = this;
     //cust contains the data mentioned at the bottom
     self.customers = cust;
 }

//HTML FILE
<table class= "table" id="kocustomertable" border= "1">
    <tr> 
        <th>Last name</th> 
    </tr> 
    <tbody data-bind = 'customers'> 
        <tr>
            <td data-bind = 'text: last_name'></td>
        </tr>
    </tbody>
</table> 

变量中数据的示例内容 "CUST"

[
  {"id":1,"first_name":"Tracey","last_name":"Jansson","email":"tjansson0@discuz.net","gender":"Female","ip_address":"167.88.183.95","birthdate":"1999-08-25T17:24:23Z","website":"http://hello.com","city":"Medellín","credits":7471}
]

您的 <tbody> 上的 data-bind 似乎缺少绑定。

您在 HTML 中引用了您的视图模型 customers 属性,但您没有告诉 knockout 如何将其绑定到视图。如果您添加 foreach 绑定,您应该会看到每个客户得到一个 table 行。例如,您可以将开头 <tbody> 替换为:

<tbody data-bind='foreach: customers'>

希望这对您有所帮助。查看 knockout documentation on foreach 了解更多信息。