У меня есть простая страница с заголовком и навигацией по ящику, как показано ниже.
Моя проблема заключается в том, что всякий раз, когда я перехожу на другую страницу, значок меню ящика (значок гамбургера) исчезает. Мне удалось вызвать отображение значка с помощью componentHandler.upgradeDom();
в консоли Chrome.
Я попытался удалить //= require turbolinks
, и все продолжает работать, конечно, за счет скорости загрузки моих страниц.
К вашему сведению, я переместил javascripts в конец <body>
, чтобы повысить скорость загрузки первой страницы. Я также попытался переместить javascripts обратно в тег <head>
, с data-turbolinks-track
и без него, проблема все еще повторяется.
Я надеюсь, что MDL и Turbolinks смогут работать вместе, не снижая мне (первой страницы) скорости загрузки.
Любая помощь высоко ценится.
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
<header class="mdl-layout__header">
<div class="mdl-layout__header-row">
<span class="mdl-layout-title"><%= yield(:title) %></span>
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation mdl-layout--large-screen-only">
<!-- some links -->
</nav>
</div>
</header>
<div class="mdl-layout__drawer">
<span class="mdl-layout-title"><%= yield(:title) %></span>
<nav class="mdl-navigation">
<!-- some links -->
</nav>
</div>
<main class="mdl-layout__content">
<%= yield %>
</main>
</div>
<%= javascript_include_tag 'https://storage.googleapis.com/code.getmdl.io/1.0.5/material.min.js', 'data-turbolinks-eval' => 'false' %>
<%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>
</body>
Обновление: единственный способ заставить оба работать вместе — добавить componentHandler.upgradeDom();
в самый конец <body>