Javascript MooTools类和Knockout.js

Javascript MooTools类和Knockout.js,javascript,mootools,knockout.js,Javascript,Mootools,Knockout.js,我试图通过使用MooTools与Knockout.js结合提供的OOP模式来保持代码的整洁 我似乎无法让它工作,因为当它绑定数据值时,Knockout返回一些函数(property函数,meh?)。但是,如果这些值是用javascript检索的,则其工作方式为exprected。我制作了一个快速的JSFIDLE,以便您可以测试它: 提前谢谢 在您当前的结构中,可观察对象是在类的原型上创建的。Knockout不打算让它们出现在原型上(它们保持私有状态,因此无法共享),因此内部函数ko.isObs

我试图通过使用MooTools与Knockout.js结合提供的OOP模式来保持代码的整洁

我似乎无法让它工作,因为当它绑定数据值时,Knockout返回一些函数(property函数,meh?)。但是,如果这些值是用javascript检索的,则其工作方式为exprected。我制作了一个快速的JSFIDLE,以便您可以测试它:


提前谢谢

在您当前的结构中,可观察对象是在类的原型上创建的。Knockout不打算让它们出现在原型上(它们保持私有状态,因此无法共享),因此内部函数
ko.isObservable
失败。这导致KO中的解包裹代码没有意识到它需要为您的观察值检索基础值

你必须这样写:

var ViewModel = new Class({
    initialize: function(secondVal){
        this.someProp = ko.observable('Here is my value');
        this.anotherProp = ko.observable(secondVal);
    }
});

是的,很遗憾,您不能在类定义中使用
ko.observable
。。。这些属性必须针对每个实例进行唯一初始化。