Я показываю огромную табличную структуру с нокаутом. У пользователя есть возможность удалить строки, щелкнув флажок в строке:
data-bind="checked: row.removed"
Проблема заключается в том, что таблицу нужно перерисовать по клику, что на медленных компьютерах/браузерах занимает до одной или двух секунд - флажок меняет свое состояние после того, как таблица была отображена, поэтому пользовательский интерфейс чувствует себя невосприимчивым. Я хотел бы создать функцию-оболочку, которая делает то же самое, что и проверенная по умолчанию привязка по умолчанию, но дополнительно отображает символ загрузчика, а затем снова скрывает ее после того, как проверочная привязка выполнила свою работу. Что-то вроде:
ko.bindingHandlers.checkedWithLoader = {
update: function(element, valueAccessor, allBindings) {
loader.show();
// call knockout default checked binding here
loader.hide();
}
};
Возможно ли подобное? Есть ли лучшая альтернатива?