2012-02-16 5 views
3

У меня есть шаблон knockoutjs со следующим кодом:Knockoutjs Ошибка: Невозможно разобрать привязки на Android 2.3

<script type="text/html" id="task-template"> 
    <li> 
    <input type="checkbox" data-bind="attr: { id:$data.id, name: $data.id }, checked:checked" class="custom" /> 
    <label data-bind="attr: { for: $data.id }, text: displayText"></label> 
    </li> 
</script> 

Он успешно работает в большинстве браузеров. Тем не менее, на Android 2.3.3 шаблон не удается правильно отобразить (я использую jquerymobile). Я получаю следующую ошибку от LogCat на эмуляторе:

02-15 21:53:05.915: E/browser(293): Bindings value: attr: { for: $data.id }, text: displayText http://(mySite)/js/knockout-2.0.0.js:6 

Любые идеи? Я нахожу это особенно расстраивающим, так как он работает почти повсюду, кроме Android 2.3.3.

+1

Если бы я пытался сузить его, я бы сначала попробовал поставить «для» в кавычки. Затем я попытался создать объект в вашей модели представлений, содержащий '{for: id}' (например, 'viewModel.forBinding = {for: viewModel.id};' и сделать 'attr: forBinding'. попробуйте сузить, почему у него проблема с синтаксисом. –

ответ

3

Подозритель мистера Нимейера был прав. Я изменил {for: $data.id} на {'for': $data.id} и все хорошо в Android 2.3.3. Благодарю.