2
我使用KnockoutJS填充从数组列表:KnockoutJS:在数组从JavaScript的模板中项目的访问索引
<div data-bind:"foreach: list">
<input type="text" data-bind="value: myText" />
</div>
function ViewModel() {
self.list = ko.observableArray([
new listItem("sample text")
]);
};
function listItem (text) {
this.myText = text;
};
我可以分配一个id,我输入的单个实例,像这样
<input data-bind="attr: { id: $index } ...
如何从我的listItem函数中访问此索引?我希望能够做到像
function listItem (text) {
this.myText = text;
this.index = $index;
};
为了使用这个进一步处理。
许多感谢提示和详细的答案,特别是对于jsfiddles! 在尝试使用自定义绑定的第一个选项时,我注意到'myIndex'可用于数据绑定,但在数组的初始填充期间,我无法在列表项的javascript模板中访问它。任何指针为什么这是这种情况? – gzost
在这种情况下,只有在绑定应用之后,索引才会被设置到对象上。因此,应用绑定之前运行的任何代码都不可用。如果您在此之前需要它,那么您可能需要考虑其他选项。 –
谢谢。目前,第一个选项应该没问题,但如果我需要更早的访问权限,我会记住这一点。 – gzost