MooTools类和Knockout.js

时间:2011-12-29 23:33:57

标签: javascript mootools knockout.js

我试图通过使用MooTools与Knockout.js一起提供的OOP模式来保持我的代码更清洁

我似乎无法让它工作,因为当数据绑定值时,Knockout会返回一些函数(属性函数,meh?)。但是,如果使用javascript检索值,则它可以作为exprected工作。我做了一个快速的jsFiddle,你可以测试一下:

http://jsfiddle.net/tixz/JK2jt/

提前致谢!

1 个答案:

答案 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);
    }
});

http://jsfiddle.net/rniemeyer/JK2jt/9/