1
我剛剛開始用KnockoutJS弄溼我的腳。到目前爲止,我有以下幾點:遇到一些基本的問題KnockoutJS
HTML:
<b>Selected:</b> <span data-bind="text: selectedName" ></span>
<div data-bind="foreach: matches">
<div data-bind="click: $root.SelectMatch" >
<strong data-bind="text: Name" ></strong>
<span data-bind="text: Age"></span>
<span data-bind="text: Citizenship"></span>
</div>
</div>
的Javascript:
function TestViewModel() {
var self = this;
self.matches = ko.observableArray([
{ Name: 'Rodd Chin', Age: '42', Citizenship: 'American' },
{ Name: 'Ben Challinor', Age: '30', Citizenship: 'Russian'},
{ Name: 'Andrew Harris', Age: '35', Citizenship: 'Canadian' }
]);
self.selectedItem = ko.observable();
self.selectedName = ko.observable("[Empty]");
self.SelectMatch = function (match) {
self.selectedItem = match;
self.selectedName = match.Name;
};
}
ko.applyBindings(new TestViewModel());
這一切似乎工作除了的selectedName第一span標籤的結合。由於某種原因,永遠不會得到更新。我已經嘗試將ko.computed()
屬性添加到vm,該vm返回self.selectedItem.Name
並綁定到那個,但那也不起作用。
關於我可能做錯什麼的想法?謝謝您的幫助!
謝謝!我也改變了span標籤的綁定,就像'text:selectedItem()。Name'一樣 – RHarris 2012-03-06 19:25:32