我刚开始使用 Polymer。似乎有两个事件表明内容已准备就绪:
// Listen for template bound event to know when bindings
// have resolved and content has been stamped to the page
app.addEventListener('dom-change', function() {
console.log('Our app is ready to rock!');
});
// See https://github.com/Polymer/polymer/issues/1381
window.addEventListener('WebComponentsReady', function() {
// imports are loaded and elements have been registered
});
我想知道是否有必要将它们包装在一起并将代码放在里面,以确保在执行任何脚本之前确保文档已完全加载,例如:
app.addEventListener('dom-change', function() {
window.addEventListener('WebComponentsReady', function() {
// scripts go here
});
});
但是,我不知道在所有浏览器中这样做的正确方法是什么。如果 WebComponentsReady 发生在 dom-change 之前,则内部脚本永远不会执行。
哎呀,这甚至可能不是必需的,因为 polymer 入门套件不会将它们包裹在一起。在那种情况下,哪些类型的脚本应该放在 dom-change
事件中,哪些类型的脚本应该放在 WebComponentsReady
事件中?
最佳答案
使用 native ready
回调作为described here .
<script>
(function() {
Polymer({
is: 'example-element',
properties: {...},
ready: function() {
// access a local DOM element by ID using this.$
this.$.header.textContent = 'Hello!';
}
});
})();
</script>
关于javascript - 哪个先发生? WebComponentsReady 还是 dom-change?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31532005/