我有一个使用 knockout.js 映射插件获得的类别模型,见下文
var categoriesViewModel = ko.mapping.fromJS(data);
现在这个 categoriesViewModel 有类似的数据
[0]{id=1,name="adventure",description="abc"}
[1]{id=2,name="urban",description="def"}
[2]{id=3,name="romantic",description="ghi"}
我想用以下 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>
<div class="descr">
<h3 data-bind="text: name"></h3>
<p data-bind="text: Description"></p>
</div>
</section>
我想要的是在任何标签上鼠标悬停时,相关描述显示在 p 标签中,名称显示在标签中。
我可以使用 javascript 绑定数据
ko.applyBindings(categoriesViewModel()[0], $('.categories .descr p').get(0));
但在这里我使用像 [0] 这样的索引号,这是一种硬编码的方法,所以我不希望这样。我应该怎么做才能动态绑定数据,即没有在 categoriesViewModel() 中指定索引?