我在视图模型上使用此方法在普通模板和表格行的可编辑模板之间切换:
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 的模板,而不是其余的,但不知道如何去做。
感谢您的帮助