Я пытаюсь связать поле <select>
с вычисленным наблюдаемым объектом в JSViews. <select>
обновляется отлично, когда изменяется зависящая от переменной переменная. Однако при выборе нового значения в поле <select>
он не вызывает функцию set(), которую я определил. См https://jsfiddle.net/4y274h0L/3/JSViews вычисляется наблюдаемый, связанный с <select>, не обновляющийся с .set()
Шаблон
<select>
{{for options}}
<option value="{{:#data}}" data-link="{:#data} selected{:~root.computedSelectedOption() == #data}"></option>
{{/for}}
</select>
Компьютерная наблюдаемым
function privateComputedOption() {
return vm.tempSelectedOption;
}
privateComputedOption.depends = ["~root.tempSelectedOption"];
privateComputedOption.set = function(val) {
$.observable(vm).setProperty("tempSelectedOption", val);
console.log(val);
};
Любая помощь будет очень кстати!
Спасибо! Так оно и было. В реальном коде я по-прежнему использовал старую ссылку на невычислимое значение. Поэтому у меня была ссылка на данные в элементе select, но это было другое свойство viewmodel. – Laurens