與KO一起工作時,想法是更改viewModel,然後演示文稿將被更改。 因此,當用戶點擊該按鈕,你應該改變VM:
如果你的虛擬機看起來是這樣的:
var vm = function() {
var self = this;
self.status=ko.observable(false);
self.toggleStatus=function(){ self.status(!self.status()); }
}
你的HTML應該是這樣的:
<button id="changeStatus" data-bind="click: toggleStatus" />
,如果您有幾個按鈕,您可以更改功能以獲得目標:
var vm = function() {
var self = this;
self.status=ko.observable(false);
self.flag=ko.observable(false);
self.toggleStatus=function(data,event,obj){ self[obj](!self[obj]()); }
}
<button data-bind="click: function(d,e){ togglebutton(d,e,'status');}" />
<button data-bind="click: function(d,e){ togglebutton(d,e,'flag');}" />
讓我知道如果你需要更多的信息
來源
2014-03-13 11:41:41
Guy
請張貼一些代碼!點擊按鈕如何改變數據狀態?你的數據狀態是否受限於可觀測的? – nemesv
在我的第一篇文章中添加了一些代碼。 – Daniel