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());
これをすべて、最初のspanタグの結合selectedNameため以外を動作するようです。何らかの理由でそれが更新されることはありません。私はself.selectedItem.Name
を返すvmにko.computed()
プロパティを追加しようとしましたが、それにバインドしても動作しませんでした。
私が間違っている可能性のあるアイデアはありますか?助けてくれてありがとう!
self.myObservable(newValue);
これは持っている:
ありがとうございます! spanタグのバインディングも 'text:selectedItem()。Name'のように変更しました。 – RHarris