5

lỗi Strange .....Delay và thủ khởi mdl materialLayout

  • Tôi có một tình trạng chủng tộc nơi angularJS chỉ thị của tôi cho headerdrawer được biên soạn sau liệu-thiết kế-lite khởi bố trí.

  • Điều này dường như chỉ xảy ra khi tôi tắt wifi và làm việc ngoại tuyến. Không yêu cầu tài nguyên từ xa, mặc dù trình quản lý thẻ google và plugin kết nối facebook không thành công trong tab mạng.

Câu hỏi:

  1. Tôi có thể trì hoãn khởi động MDL (mà tôi thấy xảy ra onload of the page
  2. Tôi có thể tự khởi tạo lại các mdl-bố trí sao cho nó đúng cách xây dựng không? nút ngăn kéo, v.v., tất cả lại một lần nữa?
  3. Có ai có bất kỳ ý tưởng nào tại sao ngoại tuyến sẽ gây ra bất kỳ vấn đề về kết xuất/javascript nào không?

Tôi đã cố gắng window.componentHandler.upgradeAllRegistered() nhưng điều đó không reinitialize bố trí

+0

tại sao không chỉ 'componentHandler.upgradeElement (document.body) 'khi góc của bạn đã cam kết đầy đủ DOM để trình duyệt? – ClojureMostly

Trả lời

0

Đây là cách tôi giải quyết vấn đề trong trường hợp bất cứ ai khác chạy vào này (tình trạng chủng tộc mdl với góc):

  1. Nạp material.js thư viện một lần các chỉ tiêu đề đã nạp
  2. chờ window.componentHandler
  3. Sau đó chạy window.componentHandler.upgradeAllRegistered();

Full mã (đặt trong chỉ thị tiêu đề)

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); 
     })(); 
}