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 –