2011-11-09 45 views
1

在下面的小提琴中,我希望能夠在點擊列表中的其中一個水果時設置selectedFruit,但這看起來並不奏效。Knockout.JS - 丟失的上下文?

點擊水果後,如果我在Chrome立即窗口中檢查viewModel.selectedFruit的值,它會將值設置爲viewModel對象而不是綁定的數據項。我究竟做錯了什麼?看起來某處有上下文丟失?

JSFiddle link

感謝

結論

雖然這有助於追查我在我的主要的應用程序遇到的問題,根本的問題是,在匆忙我忘了使用KO模板foreach綁定在我的<UL>上,而是使用了templ foreach。

回答

1

您的viewModel變量不具有全局範圍,因爲小提琴的選項設置爲onLoad以瞭解JavaScript的加載方式。如果您將其切換到no wrap (body),那麼您將狀態良好。

唯一的其他變化是,您可以直接使用$data而不是$data()

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

+0

非常感謝 - 我知道這將是一件小事。感謝您在KnockMeOut上的努力 - 我是一個常客。 – Sidebp