0
使用Knockout,我試圖計算一個嵌套的數組值並將其顯示在前端。請在下面找到如何在UI中使用foreach來計算可觀察數組?
視圖模型代碼我的代碼:
var viewModel = function () {
var self = this;
self.profile = ko.observableArray ([{
personal: [
{firstName: 'Captain', lastName: 'Flint'},
{firstName: 'Jhon', lastName: 'Silver'},
{firstName: 'Jack', lastName: 'Rackham'}
]
}]);
self.fullName = ko.computed (function() {
for (var i=0; i<self.profile()[0].personal.length; i++) {
self.profile()[0].personal[i].firstName+" "+ self.profile()[0].personal[i].lastName;
});
}
ko.applyBindings(new viewModel);
HTML
<table data-bind="foreach: profile">
<tbody data-bind="foreach: personal">
<tr>
<td data-bind="text: $index"></td>
<td data-bind="text: fullname"></td>
</tr>
</tbody>
</table>
是的!這不起作用。嘗試Knockout文檔和許多其他教程無法找到最佳解決方案。請幫助我解決這個問題。提前致謝。
感謝幫助。 –
@michaelbest是編輯的風格偏好還是在設置範圍和在計算中使用「this」而不是外部變量有優勢嗎? –
請參閱http://stackoverflow.com/q/750486/1287183 –