Переключать класс при нажатии флажка

#ember.js

#ember.js

Вопрос:

Я следую официальному руководству Ember.

На шаге, отображающем полное состояние модели, следующий код должен переключать класс completed :

   <ul id="todo-list">
    {{#each}}
    <li {{bind-attr class="isCompleted:completed"}}>
      <input type="checkbox" class="toggle">
      <label>{{title}}</label><button class="destroy"></button>
    </li>
    {{/each}}
  </ul>
  

Но, похоже, ничего не происходит. Является ли что-то очевидное в коде неправильным или отлаживается иным образом — как мне это отладить?

Комментарии:

1. Где вы получаете доступ к свойству IsCompleted?

2. Я не очень разбираюсь в фреймворке, но я полагаю, вы имеете в виду модель? Я следовал руководству, поэтому модель определяется в соответствии со следующим: emberjs.com/guides/getting-started/using-fixtures

Ответ №1:

Вы должны использовать {{input}} помощник. Например:

 {{input type="checkbox" name="isCompleted" checked=isCompleted}}
  

В этом случае isCompleted привязывается к текущему свойству модели или вычисляемому свойству (которое может исходить от контроллера, модели и т. Д.).

Смотрите Это руководство для получения дополнительной информации: http://emberjs.com/guides/templates/input-helpers/#toc_checkboxes

Комментарии:

1. Забавно, как они используют одну технику в примере приложения, а затем другую в документах: s

2. Ах, действительно. Им определенно предстоит проделать определенную работу с точки зрения объединения документации с примерами и рецептами кулинарной книги. Ember требует от разработчика понимания определенных шаблонов. В некотором смысле у меня была та же кривая обучения, что и у Rails, по крайней мере, для меня. 🙂 В целом, однако, я доволен документами.