2014-12-04 36 views
0

下面我有一個淘汰賽表達:淘汰賽動態表達式的值 - CSS結合

<span class='icon' data-bind='css: step_type() '></span> 

如果我的step_type()返回寄存器:

<!-- in case of step_type() return a register --> 
<span class='icon 0 1 2 3 4 5 6 7' data-bind='css: step_type() '></span> 


<!-- in case of step_type() return a date --> 
<span class='icon 0 1 2 3' data-bind='css: step_type() '></span> 

我從輸出淘汰賽注意到什麼不正確地使用表達式值,而不是使用字符串值中的每個字符的索引。下面是我期望看到的

<!-- in case of step_type() return: date --> 
<span class='icon date' data-bind='css: step_type() '></span> 

<!-- in case of step_type() return: register --> 
<span class='icon register' data-bind='css: step_type() '></span> 

我想念什麼嗎?請幫助如何完成此操作。

+1

嘗試像這樣''。如果有一個匹配的CSS將適用 – 2014-12-04 04:59:53

+0

這可能會工作,但它不會達到我的目的,因爲step_type()可以返回幾乎100個不同的值,它將最終使用大量的條件。 – 2014-12-04 05:09:37

+0

幫助我瞭解更多。你需要在元素頂部進行if檢查嗎?我會發布一些樣本答案,我們在那裏討論 – 2014-12-04 05:25:42

回答

0

從我從你的問題

瞭解你需要一個CSS添加到單元有條件。所以,我們需要做這樣的事情。

輸入:

<span class='icon' data-bind='css:{"abc":true}'></span> 

輸出:

<span class='icon abc' data-bind='css:{"abc":true}'></span> 

如果你需要對元素的頂部if檢查這裏我們去

<!-- ko if : step_type()== 'your value' --> 
<span class='icon' data-bind='css:{"abc":true}'></span> 
<!--/ko--> 

編輯: 然後,你需要已經計算的step_type像下面

vm.step_type= ko.Computed(function() { 
     return (check condition here) ? "register" : "date"; 
    }, vm); 

後來在您具有約束力不喜歡

<span class='icon' data-bind='css:step_type'></span> **(i/p)** 

<span class='icon register' data-bind='css:step_type'></span> **(o/p)** 

您可以參閱文件here整齊地提及如何處理

工作小提琴here

+0

做標記和投票,如果萬一它可以幫助你。歡呼 – 2014-12-04 14:56:17

+0

這是我得到的結果: **(o/p)** – 2014-12-08 02:50:13

+0

我加了工作小提琴對我來說似乎沒問題。可能與你的問題小提琴讚賞。乾杯 – 2014-12-08 12:32:53