Вычисляемая наблюдаемая нокаут не обновляется

Следующее является вычисляемой наблюдаемой, и я вызываю ее функцию записи, но запись не обновляет значение для вычисляемого.

self.pagesToBeDisplayed = ko.computed({
    read: function () {

       var value = otherFile.PerformWork();
       return self.pages(value);
    }, write: function (totalCount) {
        var value = otherFile.PerformWork(totalCount);
        self.pages();
        self.pages(value) 
    },
    deferEvaluation: true
});

otherFile.PerformWork() это функция в другом файле JavaScript, который просто обновляет self.pages(),

Однако значение для self.pages и self.pagesToBeDisplayed по-прежнему является более старым значением. он не обновляется после otherFile.PerformWork(totalCount);

1 ответ

Решение

Ваша функция чтения в данный момент пишет в pages наблюдаемый вместо чтения из него. Чтобы прочитать, вызовите наблюдаемое без аргументов: self.pages(), Чтобы написать, позвоните с одним аргументом: self.pages(value),

Ваш write функция должна писать в наблюдаемую, а ваш read Функция должна только читать.

Другие вопросы по тегам