Knockout.js 如何迭代淘汰viewmodel集合

Knockout.js 如何迭代淘汰viewmodel集合,knockout.js,Knockout.js,Iam无法使用Knockout.js库显示产品项 Html <p>First product: <strong data-bind="text: products[0].description"></strong></p> <tbody data-bind="foreach: products"> <tr> <td data-bind="text: id"></td>

Iam无法使用Knockout.js库显示产品项

Html

<p>First product: <strong data-bind="text: products[0].description"></strong></p>

<tbody data-bind="foreach: products">
    <tr>
        <td data-bind="text: id"></td>
        <td data-bind="text: description"></td>
    </tr>
</tbody>
第一个产品:

JavaScript

<script type='text/javascript'>

            $(function () {

                var json = {
                    "products": [
                        { "id": 1, "description": "product A" },
                        { "id": 2, "description": "product B" },
                        { "id": 3, "description": "product C" }
                    ]
                }

                function viewModel() { 
                    this.products = json.products;
                }

                ko.applyBindings(new viewModel());

            });
</script>

$(函数(){
var json={
“产品”:[
{“id”:1,“描述”:“产品A”},
{“id”:2,“描述”:“产品B”},
{“id”:3,“描述”:“产品C”}
]
}
函数viewModel(){
this.products=json.products;
}
应用绑定(新的viewModel());
});

我没有收到任何错误消息,但我只看到“First product:”文本。我遗漏了什么?

我让它在下面的jsfiddle中工作:

Html:

您缺少主函数末尾的括号
()
,该括号表示应立即执行该函数。
此外,您还可以为双向绑定创建可观察对象。

谢谢!我丢失了“()”,另外还有一个jquery“$”加上“tbody”应该是“table”,它现在可以工作了:)很高兴我能帮上忙:)
<p>First product: <strong data-bind="text: products[0].description"></strong></p>

<table>
<tbody data-bind="foreach: products">
    <tr>
        <td data-bind="text: id"></td>
        <td data-bind="text: description"></td>
    </tr>
</tbody>
</table>
(function() {
var viewModel = { 
  products: [
    { id: 1, description: "product A" },
    { id: 2, description: "product B" },
    { id: 3, description: "product C" }
  ]
}

ko.applyBindings(viewModel);
}());