2013-08-22 86 views
2

我在學習Knockout,並且有一個由4個項目組成的可觀察數組pdfs。我需要的項目的HTML輸出看起來像這樣:從可觀察陣列中獲取第n個項目

Intro Text 
[Item 1].name is located in [Item 1].location 

Some links, other body text 
[Item 2].name is located in [Item 2].location 
[Item 3].name is located in [Item 3].location 
[Item 4].name is located in [Item 4].location 

我發現引用data-bind="text: pdfs[nth].name"幾個地方,但如果我這樣做,我得到「PDF文件沒有定義」或類似。我意識到我可以使用兩個foreach循環和<!-- ko if: $index() == nth -->,但肯定必須有更好的方法?

這似乎是一些人想做的事情,所以我希望這是一個強大的解決方案。我意識到我在說這裏的第一個項目(其他所有內容都可以在foreach中圈出來),但是我總體上對nth(如果我想說的話,項目3在某個特別的地方)感興趣。

*我真的不希望創建一個自定義綁定,如果可能的話

回答

5

你試過data-bind="text: pdfs()[nth].name"

請看本頁的「從observableArray讀取信息」:http://knockoutjs.com/documentation/observableArrays.html。如果pdfs是一個可觀察數組,那麼要獲取底層數組(以便您可以使用[])對其進行索引,則需要調用該函數。就這樣 ()。

+0

太棒了,正是我所需要的。感謝您的解答和解釋,我很感激! – Ojame