私はknockout.jsマッピングプラグインを使用して取得したカテゴリモデルを持っています。以下を参照してください
var categoryViewModel = 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]のようなインデックス番号を使用しています。これはハードコードされたアプローチの一種であるため、このようにはしたくありません。カテゴリViewModel()でインデックスを指定せずにデータを動的にバインドするにはどうすればよいですか?