MooTools Classes and Knockout.js

MooTools Classes and Knockout.js

本文关键字:js Knockout and Classes MooTools      更新时间:2023-09-26

我试图通过使用MooTools提供的与Knockout.js相结合的OOP模式来保持我的代码更干净一些

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

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

提前感谢!

在当前的结构中,可观察对象是在类的原型上创建的。Knockout并不打算将它们放在原型上(它们不能被共享,因为它们保持私有状态),因此内部函数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/