有誰知道我會如何用knockoutJS完成以下模式? 我一直在apache flex中使用這個模式,並想看看我是否可以模仿它。 我不確定如何用另一個替換observable。任何幫助/想法非常讚賞。選擇對象模式與淘汰賽
//模型
myViewModel = {
items : ko.observableArray(),
selected_item : ko.observable()
}
//視圖
<h3 data-bind="text : myViewModel.selected_item.name"> </h3>
<ul>
<!-- ko foreach: myViewModel.items -->
<li data-bind="text : name"/>
<!-- /ko -->
</ul>
//邏輯
$('li').click(function(e){
//check ko.dataFor(this) has different id from that of myViewModel.selected_item
//if id different
//set myViewModel.selected_item to ko.dataFor(this)
//rejoice as h3 text changes
})
+1通常我喜歡把邏輯在其自己的方法,但對於簡單,簡短而親切的@RPNiemeyer的第二個例子東西,我只是與在線解決方案去。像魅力一樣工作 – 2012-01-09 17:28:52
我通常也使用另一種方法,部分是爲了運行其他邏輯,主要是因爲當方法是一個名詞('click:$ parent.selected_item')而不是動詞('click:$ parent .selectItem') – 2012-01-09 17:35:05
完美 - 謝謝,這對我有很大的幫助。我最終在標記中使用了指令(小提琴#2)。而不是使用div來包裝綁定,但是我使用了ko指令。 <! - ko with:selected_item - >此處綁定 – Chin 2012-01-10 04:34:52