0

我试图弄清楚如何通过淘汰赛从 html 中添加和删除类。

应该发生的是,当我单击卡车时,按钮应更新为 btn-red 类,并且汽车按钮应将其 btn-red 删除。

我可以看到事件绑定正在工作,因为触发了警报并返回了正确的值,但我无法更新视图。

我整理了一个非常简单的 JSFiddle.net/N8GBB/11/ (由于某种原因,stackoverflow 不允许我发布链接)这是我在 jsfiddle 中使用的代码

<button class="btn" data-bind="css:{'btn-red':type()=='car'},点击:set_to_car">汽车</button>
<button class="btn" data-bind="css:{'btn-red':type()=='truck'},点击:set_to_truck">卡车</button>
变量车辆={
    类型:ko.observable(“汽车”),
           set_to_car:函数(){
        this.type='汽车'
        警报(this.type);
    },
        set_to_truck:函数(){
            this.type='卡车'
     警报(车辆类型);        
    }};

ko.applyBindings(车辆);
4

1 回答 1

1

你没有type正确设置你的 observable。

ko.observable方法返回一个函数,因此如果要更改其值,则需要将其作为函数调用,并将新值作为参数。

var vehicle={ 
    type:ko.observable("car"),
           set_to_car : function(){
        this.type('car');
    },
        set_to_truck: function(){
            this.type('truck');  
    }};

演示JSFiddle

您可以在文档中阅读有关阅读和编写可观察对象的更多信息。

于 2013-02-20T05:52:59.847 回答