Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Ember 2 действия внутри каждого цикла

Автор вопроса: MattОтветов: 1

Рассмотрим следующее:

days_week: [
    {
        selected '',
        day: 'mon'
    },
    {
        selected '',
        day: 'wed'
    },
    {
        selected '',
        day: 'fri'
    }
]

Внутри моего шаблона я могу перебирать дни:

{{#each days_week as |day_week index|}}
    {{day_week.day}}
{{/each}}

Что дает это: пн ср пт

Теперь я хочу назначить действие, чтобы при щелчке по нему добавлялся класс, а при повторном щелчке он удалял класс....

{{#each days_week as |day_week index|}}
    <button class="{{day_week.selected}}" {{action 'toggle' day_week}}>
        {{day_week.day}}
    </button>
{{/each}}

Однако следующий код не работает (начните с добавления класса highlight)?

actions: {
    toggle: function(day_week){
        day_week.set('selected','highlight');
    }
}

и я получаю эту ошибку: TypeError: day_week.set не является функцией?

  • опечатка в вашем вопросе, в выбранном свойстве отсутствует точка с запятой. Ember Freak 15.08.2016
  • Почему вы думаете, что в простом старом JS-объекте будет определен метод set? 15.08.2016

each

Ответы

Ответ 1 · рейтинг 2 · Ebrahim Pasbani

Используйте 1_. Работает на любом объекте.

Пожалуйста, проверьте это

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы