这应该很简单但当然我弄错了。
如何在点击事件上更新ko.observable文字? 我可以使用“afterkeydown”或“keypress”来做到这一点,但不是万一点击事件。http://knockoutjs.com/documentation/value-binding.html
<span data-bind="text: Count"></span>
<button data-bind="click: update">Update</button>
function MyViewModel() {
var self = this;
self.Count = ko.observable("0");
self.update = function() {
self.Count = ko.observable("1");
}
}
答案 0 :(得分:3)
你应该像功能一样改变它。
self.update = function() {
self.Count("1");
}
演示:http://jsfiddle.net/EBsj5/1/
任何基础教程都会向您解释,所以我建议您观看一些。
答案 1 :(得分:2)
当您设置Knockout observable的值时,您需要像函数一样使用parans并传入新值。
<span data-bind="text: Count"></span>
<button data-bind="click: update">Update</button>
function MyViewModel() {
var self = this;
self.Count = ko.observable("0");
self.update = function() {
self.Count("1");
}
}
这会将observable更新为&#34; 1&#34;在这种情况下。你不需要再次调用ko.observable(),因为你已经创建了observable,你只是想设置&#39;使用setter函数的值。