我试图通过使用MooTools与Knockout.js一起提供的OOP模式来保持我的代码更清洁
我似乎无法让它工作,因为当数据绑定值时,Knockout会返回一些函数(属性函数,meh?)。但是,如果使用javascript检索值,则它可以作为exprected工作。我做了一个快速的jsFiddle,你可以测试一下:
http://jsfiddle.net/tixz/JK2jt/
提前致谢!
答案 0 :(得分:2)
在您当前的结构中,可观察对象是在您的类的原型上创建的。 Knockout并不打算将它们放在原型上(它们不能共享,因为它们保持私有状态),并且内部函数ko.isObservable
因此而失败。这导致KO中的解包代码没有意识到它需要检索您的observable的基础值。
你必须写得像:
var ViewModel = new Class({
initialize: function(secondVal){
this.someProp = ko.observable('Here is my value');
this.anotherProp = ko.observable(secondVal);
}
});