我正在与淘汰赛争斗,试图获得一个嵌套的foreach语句来渲染
我有一个视图模型
var ViewModel = function (transactions) {
var self = this;
self.transactions = ko.observableArray(ko.utils.arrayMap(transactions, function (transaction) {
return new Transaction(
transaction.TransactionId,
transaction.Items);
}));
我的模特
var Transaction = function (TransactionId,Items)
{
var self = this;
self.transactionId = ko.observable(TransactionId);
self.items = ko.observableArray(Items);
我在我的页面视图中绑定了viewmodel
var viewModel = new ViewModel([{"TransactionId":1007,"Items":[{"ItemId":1,"Description":"123"}]}]);
ko.applyBindings(viewModel, document.getElementById("process"));
html的缩减版本看起来像
<ul data-bind="foreach: transactions">
<li>
<div class="title" data-bind="text:transactionId"></div>
<ul data-bind="foreach: items">
<li>ABC</li>
<ul>
</li>
我没有收到错误,但我的无序列表没有被渲染。我在这里做了一件明显不对的事吗?
我创建了一个复制问题的jsfiddle。它可以在这里找到...... JSFiddle