10
我似乎无法得到一个嵌套的foreach工作。嵌套的foreach在knockout.js
JS代码:
$(document).ready(function() {
function chartValueViewModel(date, price) {
this.date = date;
this.price = price;
}
function chartViewModel(id, name, lineType, values) {
this.id = id;
this.name = name;
this.lineType = lineType;
this.values = ko.observableArray(values);
}
function liveCurveViewModel() {
this.chartsData = ko.observableArray([]);
var chartsData = this.chartsData;
this.init = function() {
var mappedCharts = $.map(chartValues,
function(chart) {
var mappedValues = $.map(chart.chartValues, function(value) {
return new chartValueViewModel(value.dateTime, value.price);
})
return new chartViewModel(chart.id, chart.name, chart.liveCurveTypeId, mappedValues);
});
chartsData(mappedCharts);
};
}
var vm = new liveCurveViewModel();
vm.init();
ko.applyBindings(vm);
});
HTML是:
<ul data-bind="foreach: chartsData ">
<li data-bind="text: name">
<ul data-bind="foreach: values">
<li data-bind="text: price">
</li>
</ul>
</li>
</ul>
外循环正确渲染,但我从内环路,甚至不是一个错误消息罢了。我已检查并填充了chartViewModel上的值字段。
@RP尼迈耶ü应该解释为什么外立文字结合覆盖内部之一。如果可能的话详细解释这种行为。谢谢 – Thomas
@Thomas - 增加了一句话来澄清'text'绑定设置innertText/textContent。希望有所帮助! –