我正在尝试在基于Polymer的Web应用程序中优化Polymer Elements的加载。特别是我在初始启动屏幕上集中精力。如果用户没有在cookie中保存有效的jwt令牌,则必须登录。
index.html
加载应用程序元素<pas-app>
,后者又加载会话管理器(<pas-eession>
)。由于正常启动将是用户已经登录时处理用户名和密码输入的元素(<pas-logon>
)隐藏在<template is="dom-if">
内的<pas-session>
元素后面,我有将async
标志添加到该元素中的html导入行 - 因此:
<link rel="import" href="pas-logon.html" async>
然而,在chrome中(我没有在firefox中遇到过这种情况,html导入是polyfilled),这个异步似乎流过自定义元素中的嵌入式<script>
元素。特别是我得到一个类型错误,因为将它作为自定义元素重新定位的脚本认为Polymer
不是函数。
我怀疑我使用了错误的async标志 - 有没有办法指定html导入不应该阻止当前元素,但是应该在加载时阻止自身内部的脚本。
答案 0 :(得分:1)
我认为我今天遇到了同样的问题,并在寻找解决方案时发现了这个问题。使用importHref异步时,我得到[paper-radio-button::_flattenBehaviorsList]: behavior is null, check for missing or 404 import
之类的错误,并且没有按正确的顺序加载依赖项。当我更改为async = false时,错误消息就消失了。
这似乎是Polymer的一个已知错误,或者可能是Chrome https://github.com/Polymer/polymer/issues/2522