敲除绑定不更新类风格
问题描述:
我想弄清楚如何添加和从类删除类与淘汰赛。敲除绑定不更新类风格
应该发生的事情是,当我点击卡车时,按钮应该更新为类btn-red,并且汽车按钮应该已经移除了btn-red。
我可以看到事件绑定正在工作,因为警报被触发并返回了正确的值,但我无法获取更新视图。
我已经把一个非常简单的JSFiddle.net/N8GBB/11/(计算器不会让我的链接后由于某种原因) 下面是我使用的jsfiddle
<button class="btn" data-bind="css:{'btn-red':type()=='car'}, click: set_to_car">Car</button> <button class="btn" data-bind="css:{'btn-red':type()=='truck'}, click: set_to_truck">Truck</button>代码
var vehicle={ type:ko.observable("car"), set_to_car : function(){ this.type='car' alert(this.type); }, set_to_truck: function(){ this.type='truck' alert(vehicle.type); }}; ko.applyBindings(vehicle);
答
您没有正确设置您的type
可观察。
ko.observable
方法返回一个函数,所以如果你想改变它的值,你需要把它作为一个函数调用,新值作为参数。
var vehicle={
type:ko.observable("car"),
set_to_car : function(){
this.type('car');
},
set_to_truck: function(){
this.type('truck');
}};
演示JSFiddle。
您可以在文档中阅读有关Reading and writing observables的更多信息。
谢谢@nemesv,我实际上已经阅读过文档,但并没有真正理解所有的含义。谢谢澄清。 – pedalpete 2013-02-20 21:42:53