我對淘汰賽相當陌生,並試圖瞭解一些綁定應該如何工作。我必須使用具有約束力的淘汰賽嗎?
我認爲我可以引用一個普通綁定中可觀察的孩子,而不需要使用但我無法使其工作。
我的模型和視圖模型是;
Model = function(name) {
this.name = ko.observable(name);
};
ViewModel = function() {
var list = ko.observableArray([new Model("Apple"), new Model("Pear")]),
selectedItem = ko.observable();
function selectItem(item) {
selectedItem(item);
}
return {
list: list,
selectedItem: selectedItem,
selectItem: selectItem
};
};
和這裏的綁定:
<div id="content">
<ul id="list" data-bind="foreach: list">
<li data-bind="text: name, click: $parent.selectItem"></li>
</ul>
</div>
<p>Will show selected item</p>
<div data-bind="with: selectedItem">
<span data-bind="text: name"></span>
</div>
<div>
<p>Won't show selected item</p>
<span data-bind="text: selectedItem().name()"></span>
</div>
或者工作fiddle在這裏。
據我瞭解,我應該能夠看到selectedItem().name
的值,但應用綁定會拋出一個錯誤,但是如果div具有綁定with: selectedItem
,則它會很好地工作。
我有沒有選擇,但在這種情況下使用with
綁定?
啊是有道理的,因爲當第一個結合發生沒有選定的項目。非常感謝。 – Nathan 2013-05-03 07:01:14