Я пытаюсь использовать вычисляемые наблюдаемые выходы knockout.js для настройки свойств, похожих на C#, на модели. Я хочу, чтобы наблюдаемые могли принимать только допустимые значения. Упрощенный пример:Обновление зависимостей записываемых вычисляемых наблюдаемых
function Model()
{
var a = 100;
var b = 200;
var $ = this;
this.a = ko.computed({
read: function(){return a},
write: function(value){
var newval = parseFloat(value, 10);
if(newval < 1000)
a = newval;
}});
this.b = ko.observable(b);
}
Запись a
парения не обновляет привязки. Можно ли включить изменение a
, как если бы он был постоянным членом Model
, но с добавленной дополнительной функциональностью?
Я знаю, что могу использовать второе наблюдаемое, чтобы содержать фактическое значение и полагаться на его механизм обновления, но этот подход становится громоздким быстро с увеличением числа вычисленных свойств такого рода.