2013-06-20 47 views
1

我想要一個可點擊的div來切換我的基礎詳細信息視圖的可見性。敲除單擊事件只觸發初始化

<div class="header" data-bind="click: Details(!Details())"> 
... 
</div> 
<div data-bind="visible: Details()"></div> 

詳細信息存儲在我的挖空模型中,它的默認值爲false。當我添加此部分時,函數被調用並且細節變得可見。之後,div可以點擊(懸停時不同的鼠標指針),但淘汰模型中的值不再發生變化。

任何想法爲什麼會發生這種情況?

回答

5

的點擊綁定將一個函數引用,因此你需要用你的處理器爲匿名函數:

<div class="header" data-bind="click: function() { Details(!Details()) }"> 

在當前的代碼中Details(!Details())被當招標初始化執行和Details(...)的返回值這是未定義的被分配爲處理程序,所以這就是爲什麼它不起作用。

另請參閱click binding documentation:訪問事件對象或傳遞更多參數部分。

+0

謝謝,只有這些元素被添加多次,當前點擊一個切換所有元素。任何想法如何使他們個人?無論如何,你的答案是好的,我必須等待,才能接受,所以我遇到了下一個問題:P – MrFox

+0

你如何多次添加它們,使用'foreach'?沒有看到你的完整模型和你的UI是如何建立起來的,很難判斷哪些線路沒有正確連接,如果你仍然有這個問題,你應該在提供上述細節的另一個問題上提出。 – nemesv