2016-06-09 63 views
1

我想優化聚合物元素在我的基於聚合物的網絡應用程序的加載。特別是我正在集中努力圍繞最初的啓動屏幕。如果用戶沒有在cookie中保存有效的jwt令牌,用戶將不得不登錄。HTML導入與異步標誌 - 在Chrome中的奇怪行爲

index.html加載應用程序元素<pas-app>,該應用程序元素繼而加載會話管理器(<pas-eession>)。由於正常啓動時,用戶已經登錄處理輸入用戶名和密碼的元素(<pas-logon>)隱藏在<pas-session><template is="dom-if">元素的後面,並且我已將async標誌添加到該元素的html導入行中以及 - 這樣的:

<link rel="import" href="pas-logon.html" async>

然而,在鉻(我沒有在Firefox中,其中HTML進口polyfilled遇到此)這個異步似乎流過嵌入式<script>元素的自定義元素裏面。特別是我得到一個類型錯誤,因爲腳本導致它被作爲自定義元素認爲Polymer不是函數。

我懷疑我使用了錯誤的異步標記 - 有沒有一種方法可以指定html導入不應該阻止當前元素,但應該在加載時阻止腳本內部的腳本。

回答

0

我想我今天遇到同樣的問題,在搜索解決方案時發現此問題。當使用importHref異步時,我得到像[paper-radio-button::_flattenBehaviorsList]: behavior is null, check for missing or 404 import這樣的錯誤,並且依賴項沒有以正確的順序加載。當我更改爲async = false時,錯誤消息已消失。

看來,這是一個已知的聚合物或可能是鉻的bug https://github.com/Polymer/polymer/issues/2522