延迟和手动初始化mdl materialLayout

时间:2016-11-22 14:36:05

标签: javascript angularjs material-design material-design-lite

奇怪的错误.....

  • 我有一个竞争条件,headerdrawer的angularJS指令在 material-design-lite初始化布局后正在编译

  • 当我关闭wifi并离线工作时,似乎只会发生这种情况。不需要远程资源,但谷歌标签管理器和Facebook连接插件在网络选项卡中失败。

问题

  1. 我可以延迟MDL的自动初始化(我看到页面发生了onload吗?
  2. 我可以手动重新初始化mdl-layout,以便重新正确构建抽屉按钮等吗?
  3. 有没有人知道为什么离线会导致任何渲染/ javascript问题?
  4. 我已经尝试了window.componentHandler.upgradeAllRegistered()但是没有重新初始化布局

1 个答案:

答案 0 :(得分:1)

以下是我解决问题的方法,以防其他人遇到此问题(带有角度的mdl竞争条件):

  1. 加载header指令后加载material.js库
  2. 等待jQuery(document).ready(function(){ if(screen.width<=767){ jQuery('body.single #secondary').insertBefore('#primary'); } });
  3. 然后运行window.componentHandler
  4. 完整代码(放在标头指令中)

    window.componentHandler.upgradeAllRegistered();