knockout.js将不同的项目绑定到不同的li

时间:2012-08-10 19:21:16

标签: knockout.js

我有一个viewModel,它包含不同索引的多个对象

[0]{id=1,name="adventure",description="abc"}

[1]{id=2,name="urban",description="def"}

[2]{id=3,name="romantic",description="ghi"}

我使用knockout的maps插件获得了这个viewModel,即

var categoriesViewModel = ko.mapping.fromJS(data);

现在我有一个带有3个li标签的html,如下所示..

<section class="categories">

                <ul class="categories-list">
                    <li class="urban"><a  href="javascript:;"><span>urban living</span></a></li>
                    <li class="adventure"><a href="javascript:;"><span>adventure</span></a></li>
                    <li class="romantic"><a href="javascript:;"><span>romantic</span></a></li>
                </ul>

如何将不同的对象绑定到不同的li。

例如,第一个li应与来自categoriesViewModel的第二个对象绑定,即categoriesViewModel()[1]。

我不想硬编码索引,如[1],[2]等。我想从categoriesViewModel获取相关对象并绑定它。

期待快速帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用foreach循环执行此操作:

<ul class="categories-list" data-bind="foreach: categories">
    <li data-bind="attr: {class: name}"><span data-bind="text: desc"></span></li>
</ul>