2013-02-20 100 views
0

我想弄清楚如何添加和從類刪除類與淘汰賽。敲除綁定不更新類風格

應該發生的事情是,當我點擊卡車時,按鈕應該更新爲類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); 

回答

1

您沒有正確設置您的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的更多信息。

+0

謝謝@nemesv,我實際上已經閱讀過文檔,但並沒有真正理解所有的含義。謝謝澄清。 – pedalpete 2013-02-20 21:42:53