【发布时间】:2013-11-15 14:48:57
【问题描述】:
如何将can.compute 添加到can.Control 实例原型?我正在尝试将它传递给具有扩展功能的实例函数,但该类的所有实例共享同一个计算实例。
can.Control.extend('App.Window', {
...
},{
...
active: can.compute(true, function(newVal, oldVal) {
return !!newVal;
})
});
var a = new App.Window,
b = new App.Window;
a.active === b.active // true
a.active() // true
a.active(false)
a.active() // false
b.active() // false
显然,我可以在 init 函数中执行此操作,但我宁愿不这样做,因此当我将来继承此功能时,我不必记得调用父级 init。只是希望有人有更好的方法。
【问题讨论】:
标签: javascript prototype canjs canjs-control