2016-02-27 3 views
3

У меня возникла проблема с динамическим добавлением навигационного ящика Material Design Lite (MSL). Я посмотрел на подобный вопрос, а именно:Динамическое добавление выдвижного ящика MDL

Rerendering MDL drawer menu makes drawer button disappear

и связанное с ним

http://mdlhut.com/2015/07/where-is-the-mdl-drawer-icon/

, и я считаю, я правильно модернизации DOM, добавив его. Я соединил то, что я думаю, что это самые простые из возможных примеров по адресу:

https://acuth.github.io/b2wac/html/mdl2.html

Если я раскомментировать леи-layout__drawer все работает правильно, хотя значок нав ящик не правильно выровнен, который заставляет меня задаться вопросом, если проблема в том, что я пропустил какой-то жизненно важный элемент в исходном HTML.

Как всегда любая помощь была бы с благодарностью получена.

+0

Этот вопрос может быть по существу такой же, как http://stackoverflow.com/questions/32254576/hamburger-icon-is-not-showing-up-even-if-i-call-componenthandler- upgradeedom , но включает (не) рабочий пример. Я также попытался сделать его доступным на jsFiddle в http://jsfiddle.net/acuth/0dg3xjkq/ – acuth

ответ

0

вы должны добавить событий JavaScript:

<script type="text/javascript"> 
    document.addEventListener('turbolinks:load', function() { 
     componentHandler.upgradeDom(); 
    }); 
</script> 

Приветствия.

Также вы можете добавить новую функцию javascript, которая добавит innerHTML в ваш навигационный ящик. Затем обновите DOM.

0

Попробуйте понизить узлы, а затем обновить DOM.

componentHandler.downgradeElements(document.querySelector(".mdl-layout")); 
componentHandler.upgradeDom(); 
+0

Пожалуйста, используйте правильное форматирование и объясните больше. – SteveFest

Смежные вопросы