Есть ли способ применить эффект MDL после загрузки страницы?

У меня вопрос по Material Design Lite. Как правило, страница загружается, а затем будут применены специальные эффекты флажка или текста, чтобы флажок и текстовое поле работали. Но теперь я использую reactJS для динамической загрузки диалога. Это означает, что содержимое диалога будет сгенерировано после загрузки главной страницы. Но я нашел таким образом, все эффекты флажка/текста больше не применяются. Могу ли я спросить, есть ли какой-либо специальный API, который я могу вызвать для ручного применения эффекта MDL после загрузки страницы? Так же, как те:

textDom.text() or checkDom.check()

person user3006967    schedule 10.02.2017    source источник


Ответы (1)


Да, вы должны позвонить

componentHandler.upgradeDom();

после того, как вы динамически загрузили свои изменения.

person Michael B    schedule 10.02.2017
comment
Извините, Майкл, что пропустил ваш ответ. Но где компонентHandler? Как его импортировать? У меня не удается найти имя «componentHandler». ошибка - person user3006967; 16.02.2017
comment
componentHandler находится в материале-JS. Поэтому, если вы включили его в свой проект, он будет доступен в вашем JS. <script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script> - person Michael B; 16.02.2017
comment
Сейчас я использую angular2 и хочу использовать componentHandler, но когда он компилируется, я всегда получаю сообщение об ошибке Не могу найти имя 'componentHandler'. Любая идея, как импортировать это в проект angular2? Вот что я тестирую: ngAfterViewInit() { console.log(window.componentHandler); } - person user3006967; 16.02.2017
comment
Моя вина, я должен поставить declare var componentHandler: any; в начале. Теперь все хорошо - person user3006967; 16.02.2017