ビューモデルでこのメソッドを使用して、通常のテンプレートとテーブル行の編集可能なテンプレートを切り替えます。
contactsViewModel.templateToUse = function (contact) {
return contactsViewModel.selectedItem() === contact ? 'contacts-editTmpl' : 'contacts-itemsTmpl';
};
テンプレート名の代わりに、このメソッドを呼び出します。
<tbody data-bind="template: { name: templateToUse, foreach: filterItems }"></tbody>
それは機能しますが、編集を押すたびにリスト全体を再度レンダリングすることに深刻な懸念があります。
contactsViewModel.edit = function (contact) {
contactsViewModel.selectedItem(contact);
};
残りではなく、selectedItemのテンプレートのみを変更したいのですが、どうすればよいかわかりません。
助けてくれてありがとう