10
중첩 된 foreach가 작동하지 않는 것 같습니다.knockout.js의 중첩 된 foreach
<ul data-bind="foreach: chartsData ">
<li data-bind="text: name">
<ul data-bind="foreach: values">
<li data-bind="text: price">
</li>
</ul>
</li>
</ul>
외부 루프가 제대로 렌더링하지만 내부 루프, 심지어 오류 메시지에서 아무것도 얻을 :
$(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은 다음과 같습니다
JS 코드입니다. 내가 확인한 및 chartViewModel 값 필드가 채워집니다.
@RP의 메이어 :
당신이 그런 짓을 할 것입니다. 가능한 경우이 동작을 자세히 설명하십시오. 감사합니다. – Thomas
@Thomas -'text' 바인딩이 innertText/textContent를 설정한다는 것을 명확히하기 위해 추가 문장을 추가했습니다. 희망이 도움이됩니다! –