2013-08-22 4 views
2

Я изучаю нокаут и имею наблюдаемый массив pdfs, который состоит из 4 элементов. Мне нужно 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", но если я делаю это я получаю «PDFs не определен» или аналогичный. Я понимаю, что могу использовать две петли foreach и <!-- ko if: $index() == nth -->, но, безусловно, должен быть лучший способ?

Кажется, что-то несколько человек захотят сделать, поэтому я надеюсь, что это надежное решение. Я понимаю, что речь идет о первом элементе здесь (и все остальное можно было просто зациклить в foreach), но меня интересует в целом для nth (если я хочу сказать, что пункт 3 где-то особенный).

* Я не хочу, чтобы создать пользовательские привязки, если это возможно

ответ

5

Вы пробовали data-bind="text: pdfs()[nth].name"?

Взгляните на «Чтение информации с наблюдаемогоArray» на этой странице: http://knockoutjs.com/documentation/observableArrays.html. Если pdfs является наблюдаемым массивом, то для получения базового массива (чтобы вы могли индексировать его с помощью []), вам нужно вызвать функцию. Таким образом().

+0

Удивительный, именно то, что мне было нужно. Спасибо за решение и объяснение, я ценю это! – Ojame

Смежные вопросы