考虑我们是否要覆盖特定对象(不在子类中)的函数:
var Animal = function() {
var self = this;
self.hello = ko.computed(function() {
return 'Not implemented hello';
});
self.greeting = ko.computed(function() {
return self.hello() + '!!';
});
};
var dog = new Animal();
dog.hello = ko.computed(function() {
return 'Wooff';
});
console.log(dog.greeting());
我预计输出是:Wooff!!
但它是:Not implemented hello!!
这是一个 jsbin,我在纯 JavaScript 中实现了它,它可以工作,而在淘汰赛中却没有:http: //jsbin.com/uyilot/1/edit
**编辑**
带有 Ryan 解决方案的 jsbin(现在正在工作!):http: //jsbin.com/uyilot/2/edit