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