knockout.js 如何使用ko迭代字符串列表

juud5qan  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(144)

因此,我用下面的代码来显示从后端转发的警告消息,不幸的是,它没有按预期工作。

<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他们只例子与对象...所以有没有可能甚至有一个简单的字符串数组?

92vpleto

92vpleto1#

您可以使用$data来引用迭代的当前元素:
第一个
使用$data需要一些特定于knockout的知识。如果你想避开这个问题,我建议使用扩展的foreach绑定:foreach: { data: warnings, as: 'warning' }
第一个
您当前尝试失败的原因:foreach创建一个新的绑定上下文。warnings将不再是可直接访问的,除非它是当前迭代的subject元素的属性。要使它工作,您必须编写$parent.warnings[$index()]
第一个

相关问题