Knockout JS 2.0 Ошибка синтаксического анализа в IE - PullRequest
35 голосов
/ 01 февраля 2012

Может кто-нибудь сказать мне, что не так с этим http://jsfiddle.net/Yp8Bz/? Он отлично работает в Chrome / Firefox, но в IE 8 я получаю следующую ошибку:

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

Ответы [ 2 ]

67 голосов
/ 01 февраля 2012

Поместите class в кавычки. Я столкнулся с той же проблемой при использовании зарезервированного слова.

attr: {'class': 'Hi'}
4 голосов
/ 01 февраля 2012

Даниэль А. Уайт уже указал на вашу конкретную проблему, но если бы вы работали с классами CSS на регулярной основе, я бы рекомендовал использовать привязку 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...