#ember.js #fullcalendar
#ember.js #полный календарь
Вопрос:
Я успешно включил плагин полного календаря в компонент ember, и я могу отображать данные о событиях, которые изначально предоставляются контроллером. Мне интересно, можно ли добавлять события в календарь на основе действий пользователя. До сих пор мои попытки были безуспешными.
Вот ячейка, которая повторяет мою текущую ситуацию -> JS Bin
Вы можете видеть в корзине, что когда пользователь нажимает кнопку, новый объект события успешно помещается в массив событий, который заполняет календарь. Теперь, как я могу обновить календарь, чтобы отразить это новое событие? Я пытался addEventSource
и refetchEvents
безрезультатно.
РЕДАКТИРОВАТЬ для ясности: функциональная реализация в предоставленном jsbin добавляет событие, но оно не отображается в календаре, пока пользователь не перейдет к другому месяцу, а затем вернется к месяцу, в котором было добавлено событие. Я пытаюсь отобразить событие в календаре сразу после его добавления.
Ответ №1:
Пожалуйста, ознакомьтесь с документацией для FullCalendar: http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent /
Вам нужно сделать .fullCalendar('renderEvent', this.get('events'), true);
, чтобы фактически отображать дополнения.
Вы также можете рассмотреть возможность использования Ember.События компонента, чтобы четко обрабатывать то, что происходит, когда ваш плагин jQuery принимает элемент.
Вы также должны использовать this.$, чтобы ограничить элементы, из которых вы можете выбирать, чтобы ограничить то, что вы получаете внутри вашего компонента.
Ответ №2:
@kakigoori предоставил правильную команду для использования, однако необходимо передать добавляемое событие, а не полный набор событий, которые вызывали нежелательные побочные эффекты.
Я обновил JSBin, чтобы показать рабочий пример желаемой функциональности, который можно найти ниже.
Решение —> JS Bin