События не работают после переключения маршрута в Marionette

У меня есть приложение на основе Marionette, и теперь я пытаюсь включить Material Design Lite через npm. Кроме того, я включил CSS для дизайна материалов в свой упаковщик и gulp поток, и это работает нормально. Однако, когда я переключаю маршруты, например, у меня есть кнопка с волновым эффектом на mysite/#A, а затем я перехожу на mysite/#B, а затем возвращаюсь на mysite/#A, CSS все в порядке, но JS Material Design не работает (нет эффекта пульсации и т. д.). Я использую ES6 с Babel и импортирую материальный дизайн в main.js, который запускает приложение. Я также пытался повторно импортировать то же самое в конкретном представлении, но все равно не повезло. Эффекты работают, если я обновляю страницу в браузере. Как я могу заставить это работать при изменении URL-адресов в SPA? Пожалуйста, дайте мне знать, если потребуется какая-либо другая информация относительно реализации проекта или маршрутизатора.


person Nikhil Khullar    schedule 02.06.2016    source источник


Ответы (1)


Окончательно! Итак, проблема заключалась в том, что MDL требует вызова componentHandler upgrade после динамического добавления элементов в DOM. С Marionette я назвал это в представлении onDomRefresh и работает как шарм.

person Nikhil Khullar    schedule 03.06.2016