有时加载 polymer 需要一段时间,使用<body unresolved>
时,页面保持空白,直到一切准备就绪。有没有办法在提供页面的时间和 polymer 完成其魔力的时间之间显示一些东西?
最佳答案
documentation描述了 unresolved
属性清除了其中的一些内容。
虽然申请 unresolved
很常见到 <body>
元素,导致整个页面内容被隐藏,直到 Polymer 准备就绪,它可以应用于任何元素。例如,您可以使用 <div unresolved>
作为依赖于 Polymer 的页面部分的包装器,并在该包装器外部创建一条加载消息,该消息将立即可见。 (然后您会想要收听 polymer-ready
事件并在该事件被触发时隐藏您的加载消息。)
这是一个示例,它使用一种非常人为的方式来减慢 Polymer 元素完成其生命周期方法之一 (live demo) 所需的时间:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Polymer Demo</title>
<style>
.hidden {
display: none;
}
</style>
</head>
<body>
<p id="spinner">Loading...</p>
<script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">
<polymer-element name="slow-poke">
<template>
<h1><content></content></h1>
</template>
<script>
Polymer({
// Used to introduce a delay in initializing the Polymer element.
// Don't try this at home!
created: function() {
var start = Date.now();
while (true) {
if (Date.now() - start > 1000) {
break;
}
}
}
});
</script>
</polymer-element>
<div unresolved>
<slow-poke>Here I am... finally!</slow-poke>
<slow-poke>Me too!</slow-poke>
</div>
<script>
window.addEventListener('polymer-ready', function() {
document.querySelector('#spinner').classList.add('hidden');
});
</script>
</body>
</html>
(顺便说一句,您发现什么加载速度慢?如果它是标准/核心元素,可能值得针对 GitHub 上的相应项目提交错误。)
关于html - polymer 预载微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25855898/