IE

2012-01-31 20 views
33

में नॉकआउट जेएस 2.0 बाध्यकारी पार्स त्रुटि 0 कोई मुझे बता सकता है कि http://jsfiddle.net/Yp8Bz/ के साथ क्या गलत है? यह क्रोम/फ़ायरफ़ॉक्स में ठीक काम करता है, लेकिन आईई 8 में मैं निम्नलिखित त्रुटि मिलती है:IE

Message: Unable to parse bindings. 
Message: SyntaxError: Expected identifier, string or number; 
Bindings value: click: blah, attr: {class: 'Hi'} 
Line: 38 
Char: 359 
Code: 0 
URI: http://cdnjs.cloudflare.com/ajax/libs/knockout/2.0.0/knockout-min.js 

उत्तर

66

उद्धरण में class रखो। एक आरक्षित शब्द का उपयोग करते समय मैं एक ही मुद्दे में भाग गया।

attr: {'class': 'Hi'} 
+5

धन्यवाद, यह मेरा दिन बचाया! – bouke

+9

यह 'if' पर भी लागू होता है। अगर किसी को भी इस पृष्ठ को एक ही समस्या के साथ मिल जाए तो मेरे पास था। –

+0

@ रिचर्डडल्टन: आपका क्या मतलब है कि यह लागू होता है? उदा। यदि संपत्ति नाम == 1 और उप-चयन। लम्बाई? अगर 'संपत्ति नाम' होना चाहिए? और SubCollection.length के लिए? पूछ रहा है क्योंकि आईई 8 के साथ मुझे नॉकआउट 2.3.0 के साथ कुछ समस्याएं हैं। अपेक्षित पहचानकर्ता, स्ट्रिंग या संख्या रेखा 2000 मैंने अपनी सभी गुणों को उद्धरणों में भी रखा है। वही बकवास (मैं वास्तव में आईई से नफरत करता हूं) :( – firepol

4

डैनियल ए व्हाइट पहले से ही अपने विशिष्ट समस्या बताया गया है, लेकिन अगर आप एक नियमित आधार पर सीएसएस वर्गों के साथ काम किया जाए, तो मैं बाध्यकारी css का उपयोग कर की सिफारिश करेंगे।

http://knockoutjs.com/documentation/css-binding.html

<div data-bind="css: { profitWarning: currentProfit() < 0 }"> 
    Profit Information 
</div> 

<script type="text/javascript"> 
    var viewModel = { 
     currentProfit: ko.observable(150000) // Positive value, so initially we don't apply the "profitWarning" class 
    }; 
    viewModel.currentProfit(-50); // Causes the "profitWarning" class to be applied 
</script>