因此,我用下面的代码来显示从后端转发的警告消息,不幸的是,它没有按预期工作。
<div data-bind="with: report">
<!-- ko foreach: warnings -->
<div data-bind="text: warnings[index()]"></div>
<!-- /ko -->
...
</div>
报告是KO.Observable,并且由对后端的调用填充,该后端当前返回警告以通知发生了错误并防止后端崩溃。
report(ko.toJS(data));
后端的warnings是这个report类中的一个List,它包含了几个带有对象的List。由于我没有看到在js文件中进一步定义的任何其他List,我希望warnigns列表也在report中,但是不知怎么的,消息没有显示出来。有人能给我指出正确的方向,找到我遗漏的东西吗?
看到敲除页面与foreach他们只例子与对象...所以有没有可能甚至有一个简单的字符串数组?
1条答案
按热度按时间92vpleto1#
您可以使用
$data
来引用迭代的当前元素:第一个
使用
$data
需要一些特定于knockout的知识。如果你想避开这个问题,我建议使用扩展的foreach
绑定:foreach: { data: warnings, as: 'warning' }
:第一个
您当前尝试失败的原因:
foreach
创建一个新的绑定上下文。warnings
将不再是可直接访问的,除非它是当前迭代的subject元素的属性。要使它工作,您必须编写$parent.warnings[$index()]
:第一个