2011-09-15 17 views
0

次のコードがあると、ノックアウトがviewModelのTextではなくTextareaをTextオブジェクトにバインドします。ノックアウトは、グローバルモデルを試す前に、viewModelのローカルプロパティを使用するように指示できますか?グローバル変数の代わりにモデルプロパティを表示するためのバインド

私はviewModel.Textを行うことができますが、私はしないことを知っています。また、マークアップを変更せずに同じコードをmyotherviewModelに使用することもできます。

グローバル機能を呼び出す場合は、window.Textとすることをお勧めします。

<textarea data-bind="value:Text"></textarea> 

JS:

var viewModel={ 
    Text : 'my text'  
}; 

ko.applyBindings(viewModel) 
+1

シナリオを明確にすることはできますか? KOはバインディングを評価するときに 'with 'を実行するので、このサンプルのようなグローバル変数の前にviewModel変数が見つかるはずです:http://jsfiddle.net/rniemeyer/Um6Y6/ –

+0

すばらしく、突然すべてうまくいきます。それを修正したか、私が間違っていた可能性が高いか分かりません。とにかくありがとう! –

答えて

0

あなたのシナリオを明確にすることはできますか? KOはバインディングを評価するときにwithを実行するので、このサンプルのようなグローバル変数の前にviewModel変数が見つかるはずです:http://jsfiddle.net/rniemeyer/Um6Y6/ - RP Niemeyer Sep 15 at 12:49

関連する問題