2016-11-22 107 views
5

奇怪的錯誤.....延遲和手動初始化MDL materialLayout

  • 我有我的地方爲angularJS和header指令drawer正在編譯材料設計精簡版初始化佈局的競爭條件。

  • 它似乎只發生在我關閉我的wifi並離線工作時。不需要遠程資源,但是網絡標籤中的谷歌標籤管理器和facebook連接插件失敗。

問題

  1. 我能延緩MDL的自動初始化(這是我看到發生在頁面的onload
  2. 我可以手動重新初始化MDL佈局,使其正確構建?抽屜裏的按鈕等,重新開始?
  3. 有沒有人有任何想法爲什麼脫機會導致任何渲染/ JavaScript問題?

我已經嘗試window.componentHandler.upgradeAllRegistered()但是,這並不重新初始化佈局

+0

爲什麼不'componentHandler.upgradeElement(document.body的)'當你的角度充分COMMITED的DOM的瀏覽器? – ClojureMostly

回答

0

以下是我的情況下,其他人的問題解決了運行到這(與角MDL競爭條件):

  1. 裝入material.js庫一旦頭指令加載
  2. 等待window.componentHandler
  3. 然後運行window.componentHandler.upgradeAllRegistered();

的完整代碼(放在頭指令)

function materialize(){ 
     var script = document.createElement('script'); 
     script.src = 'assets/js/material.js'; 
     document.body.appendChild(script); 
     (function upgrade(){ 
      if (!window.componentHandler){ 
       return $timeout(upgrade, 200); 
      } 
      $timeout(window.componentHandler.upgradeAllRegistered); 
     })(); 
}