我已经将一个简单的字符串数组绑定到一个列表。
淘汰赛正确地显示了这一点。
<input data-bind="value: clicked" />
<ul data-bind="foreach: strArr, click: $root.selectStr">
<li data-bind="text: $data"></li>
</ul>
当用户单击其中一个列表项时,我想填充与列表项绑定的字符串。然而,我的 click 函数接收到的对象似乎是完整的淘汰模型。
function StringViewModel() {
var self = this;
self.strArr = ko.observableArray(["one", "two", "three"]);
self.clicked = ko.observable();
self.selectStr = function (str) {
console.log(str);
self.clicked(str);
}
}
ko.applyBindings(new StringViewModel());
这是一个jsFiddle
如何编写selectStr
函数以显示列表项中的文本;[“一”、“二”、“三”]中的任何一个。
这感觉像是一个很容易解决的问题,但自从我第一天被淘汰以来,也许我错过了一些基本的东西。