2012-04-23 15 views
35

मेरे पास एक शर्त सत्य होने पर सीएसएस कक्षा लागू करने के लिए नॉकआउट में डेटा बाध्यकारी है। जब मैं कक्षा के नाम (जैसे टेस्ट-क्लास) में डैश का उपयोग करता हूं तो मुझे जावास्क्रिप्ट त्रुटि मिलती है। http://jsfiddle.net/sgvem/2/नॉकआउट जेएस - कक्षा नाम में डैश के साथ सीएसएस बाध्यकारी

<p data-bind="text: property, css: { with-dash: property().length > 0 }"></p> 

वहाँ एक पानी का छींटा नॉकआउट जेएस उपयोग करने के साथ एक वर्ग को जोड़ने के लिए एक रास्ता है:

यहाँ एक बेला है कि समस्या को दर्शाता है है?

उत्तर

52

बस उद्धरण में रख:

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p> 

यहाँ एक updated fiddle है।

एक तरफ ध्यान दें के रूप में, आप 0 के length के बाद से > 0 की जरूरत नहीं है false करने का मूल्यांकन करेंगे, और true के लिए किसी भी अन्य की लंबाई का मूल्यांकन करेंगे:

<p data-bind="text: property, css: { 'with-dash': property().length }"></p> 
+0

लंबाई के बारे में अच्छा मुलायम भोजन जोड़ने के लिए जवाब के रूप में चिह्नित करने के लिए तुम्हारा था :) – Dismissile

6

आप '

का उपयोग कर नाम अर्हता प्राप्त कर सकते हैं इस तरह

:

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p> 

आपका फिडल, +०१२३८२५०९७४

यहाँ सीएसएस बंधन समझा नॉकआउट डॉक्स हैं: http://knockoutjs.com/documentation/css-binding.html

संबंधित मुद्दे