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

我似乎无法使其工作,因为当数据绑定值时,敲除会返回某些函数(属性函数,是吗?)。但是,如果使用javascript检索值,则该值可以正确显示。我做了一个快速的jsFiddle,所以您可以测试一下:

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

提前致谢!

最佳答案

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

您必须将其编写为:

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/

10-05 21:05
查看更多