35 votes

Knockout JS 2.0 Binding Parse Error dans IE

Quelqu'un peut-il me dire ce qui ne va pas avec ça ? http://jsfiddle.net/Yp8Bz/ ? Il fonctionne bien dans Chrome/Firefox, mais dans IE 8 j'obtiens l'erreur suivante :

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

67voto

Daniel A. White Points 91889

Mettez class entre guillemets. J'ai rencontré le même problème en utilisant un mot réservé.

attr: {'class': 'Hi'}

4voto

soniiic Points 1713

Daniel A. White a déjà signalé votre problème spécifique, mais si vous deviez travailler régulièrement avec des classes CSS, je vous recommanderais d'utiliser la balise css la reliure.

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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X