2011-11-09 4 views
1

次のフィドルでは、リスト内の果物の1つをクリックすると、選択した果物を設定することができますが、これは機能していないようです。Knockout.JS - コンテキストを失う?

果物をクリックした後、Chromeの即時ウィンドウでviewModel.selectedFruitの値を調べると、バインドされたデータ項目ではなくviewModelオブジェクトに値が設定されているように見えます。私は間違って何をしていますか?どこかで文脈が失われているようですね?

JSFiddle link

おかげ

結論

これは私が私のメインアプリで経験していた問題を追跡助けた一方で、根本的な問題は、急いで、私はKOを使用することを忘れていたということでしたテンプレートforeachを私の<UL>にバインドし、代わりにtempl foreachを使用していました。

答えて

1

viewModel変数にはグローバルスコープはありません。フィディドのオプションは、JavaScriptがどのように読み込まれるかについてonLoadに設定されています。 no wrap (body)に切り替えると、良好な状態になります。

$data()ではなく、$dataを直接使用することができます。

http://jsfiddle.net/rniemeyer/LXssJ/10/

+0

感謝 - 私はそれは些細なものになるだろう知っていました。 KnockMeOutへのあなたの努力もありがとう - 私は定期的な訪問者です。 – Sidebp

関連する問題