6
<header class="mdl-layout__header">
    <div class="mdl-layout__header-row">

        <!-- Navigation -->
        <nav class="mdl-navigation">
            <a class="mdl-navigation__link is-active" href="/">link</a>
            <a class="mdl-navigation__link is-active" href="/">link</a>
        </nav>
    </div>
</header>
<div class="mdl-layout__drawer">
    <nav class="mdl-navigation">
        <a class="mdl-navigation__link is-active" href="/">link</a>
        <a class="mdl-navigation__link is-active" href="/">link</a>
    </nav>
</div>

<!-- Colored FAB button with ripple -->
<button class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
    <i class="material-icons">add</i>
</button>

根据http://mdlhut.com/2015/07/where-is-the-mdl-drawer-icon/,只要我componentHandler.upgradeDom()在动态加载html后调用它就可以工作。只是为了确保我正确调用了 upgradeDom,我添加了按钮以查看是否添加了涟漪效应。并且按钮已更新,但未出现汉堡包图标。

如果我内联 html,则会出现汉堡包图标。

4

1 回答 1

0

由于您是动态加载 html,因此您应该在DOM加载后在 init 函数中运行以下内容。请注意,setInterval要确保的函数在执行方法DOM之前有足够的时间加载componentHandler

jQuery

 $(document).ready(function() {
      setInterval(function() {
           componentHandler.upgradeAllRegisteredElements();
      }, 1000);
 });

DOM API

 document.addEventListener('DOMContentLoaded', function() {
      setInterval(function() {
           componentHandler.upgradeAllRegisteredElements();
      }, 1000);
 });
于 2015-08-29T21:29:49.603 回答