2011-12-29 11 views
1

は、私はそれが戻ってノックアウトとして仕事を得るように見えることはできませんデータが値をバインドするときに、いくつかの関数(プロパティ関数、meh?)しかし、値がjavascriptで取得された場合、それはexpiredとして動作します。MooToolsのクラスとKnockout.js

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

感謝を事前に:あなたはそれを試すことができますので、私は、迅速なjsFiddleを作りましたよ!

答えて

2

現在の構造では、オブザーバブルがクラスのプロトタイプに作成されます。ノックアウトはプロトタイプ上にあることを意図していません(プライベート状態を維持するため共有できません)。内部機能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/

+0

うん、残念ながら、あなたのクラス定義で 'ko.observable'を使用することはできません...これらのプロパティを一意に初期化する必要があります各インスタンスに対して –