При создании can.compute из начального значения и сеттера, он просто не работает. Точнее говоря не работает сеттер.
По сути эта конструкция
can.compute(initialValue, setterFn)
ведёт себя как эта
can.compute(initialValue)
.
Я не правильно готовлю CanJS или это действительно баг?
Ниже простенький компонент, демонстрирующий проблему:
jsbin.com/OjEhIsaG/watch?js,outputcan.Component.extend({
tag: "my-tag",
template: "<button>click</button> {{val}}",
scope : {
val : can.compute('default val', function(newVal)
{
alert('this function will never be called');
return 'I am the real value';
})
},
events : {
'button click' : function(el)
{
this.scope.val(Math.random());
}
}
});
var template = can.view.mustache("<my-tag />");
$("body").html(template());