2013-01-21 80 views
1

問候所有knockoutjs人。

在這個例子中,我有兩個額外的CSS類我想要添加到一個DIV。

<div data-bind="foreach: [{name: 'Hello', size:'Triple'}]"> 
     <div class="tile" 
     data-bind="css: {'tile-selected': true, $data.size : true}"> 
     </div> 
    </div> 

第一個是基於布爾值的「tile-selected」。這很好。

第二個實際上是一個類的名稱「三重」,(在這個例子中,隨時添加它,即「真」)

我得到的錯誤:

未捕獲的錯誤:無法解析綁定。 消息:語法錯誤:。意外的令牌; 綁定值:CSS:{「瓷磚選擇」:真,$ data.size:真正}

我假設我不能用$ data.size部分在「三重」字面拉從'大小'屬性。有沒有辦法可以做到這一點? ($數據[「大小」]似乎也沒有工作)

+0

什麼是$ data.size類型?它是可觀察的嗎? – ryadavilli

+0

是不是$數據foreach的當前迭代? –

+0

是的,我問的是大小。 – ryadavilli

回答

1

不能使用劫觀測或屬性的類名稱。相反,你將不得不爲此創建一個單獨的屬性,並使用相同的動態CSS綁定下面的東西。

<div data-bind="css: sizeCSS"> Profit Information</div> 

var viewModel = { 
/// some view model properties here. 
     }; 

viewModel.sizeCSS = ko.computed(function() { 
    return this.size(); 
}, viewModel); 

編輯:檢查這裏的動態CSS綁定例如:http://knockoutjs.com/documentation/css-binding.html

+0

感謝您的幫助 –

+0

這是我發現的是,它並不完全正確,你不能有屬性CSS類名。您可以在模板中使用它們...... –

+0

@RonWeston是與CSS結合或類綁定?如果是用css綁定,你能分享一個樣本嗎? – ryadavilli