Я использую KnockoutJS и MVVM на странице, и большинство, если это работает, но у меня возникают проблемы с переоценкой всех привязок.Например, у меня есть кнопка, которую я хочу включить при соблюдении определенных критериев:
<input type="submit" value="Purchase" data-bind="{enable: IsPurchaseValid}" />
IsPurchaseValid - это вычисляемая функция моей модели представления:
viewModel.IsPurchaseValid = ko.computed(function() {
console.log("IsPurchaseValid: function entered...");
if (this.Duration() == null || this.Total() <= 0 || this.SelectedPackageId() < 0) {
console.log("IsPurchaseValid: Something is missing...");
return false;
}
return this.IsLocalityCountValid();
}, viewModel);
Кнопка правильно отключенакогда страница загружается, но никогда не переоценивается.IsLocalityCountValid - это еще одна вычисляемая функция, и операторы console.log указывают, что она возвращает true.Консоль Chrome не показывает ошибок сценариев.
Как получить привязку включения для правильной переоценки?У меня также есть диапазон с видимой привязкой к! IsLocalityCountValid, который никогда не становится видимым.Я чувствую, что упускаю что-то простое, но не могу понять, что это может быть.