2014-03-27 56 views
0

說,在表內,我有Knockout CSS綁定不適用於Ajax調用?

<tbody data-bind="foreach: $data"> 
    <tr data-bind="text: somePropertie, css: $parent.setCSS($data)"></tr> 
</tbody> 

並在功能setCSS,我有一個Ajax調用,並根據其結果,

if (data == "xxx") 
    return "CSSClassName1"; 
else 
    return "CSSClassName2"; 

,這似乎不是在所有綁定的CSS 。如果我擺脫了ajax調用,並返回「CSSClassName1」,它的作品。

我該如何解決這個問題?由於

+0

返回一個承諾並使用它。您的Ajax調用需要一些時間才能完成,上下文可能與您期望的不同。 – Nit

+0

這是有道理的。我怎麼做?你有一些示例代碼?謝謝 – neo

回答

0

我相信setCss()應該返回類似

return { 
    CSSClassName1 : data === 'xxx', 
    CSSClassName2 : data !== 'xxx' 
}