javascript - 如何判断是否加载了 polymer 元件?

标签 javascript polymer web-component

我想使用 Polymer.import( elements, callback ) 动态导入元素。如果元素已经导入,则永远不会调用回调,否则在加载元素时调用。

问题是:是否有一种标准的方法来确定是否加载了 polymer 元素?

最佳答案

在您注册元素之前,它会被视为标准 HTMLElement

因此,您可以通过以下方式检查元素:

<!-- IN HEAD: core-pages would be loaded -->
<link href="core-pages/core-pages.html" rel="import"> 
...

<!-- IN BODY: core-animated-pages would be NOT loaded -->
<core-pages id='reg'></core-pages>
<core-animated-pages id='unreg'></core-animated-pages>
...

<script>
  document.addEventListener('polymer-ready', function(e) {
    /* will print false ⇒ registered */
    console.log(document.getElementById('reg').constructor === HTMLElement);
    /* will print true ⇒ unregistered */
    console.log(document.getElementById('unreg').constructor === HTMLElement);
  });
</script>

实例:http://plnkr.co/edit/uqxn6RlBXZ3746AhTnON?p=preview

关于javascript - 如何判断是否加载了 polymer 元件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28011215/

相关文章:

javascript - 如何通过 JavaScript 检测事件?

polymer - 如何为 <marked-element> 添加语法高亮?

css - 如何更改纸质按钮的纸质 Material 框阴影的颜色? ( polymer 1.0+)

javascript - Angular Bootstrap Tabs,href 不起作用

javascript - 我们如何在 postman 测试中断言 bool 数据类型

javascript - 如何调整对象的大小 - Autodesk Forge Viewer

javascript - 绑定(bind) HTML 而不是纯文本

javascript - polymer 1.0 : Is there any way to use 'layout' as an attribute instead of as a CSS class or using Attribute serialization in the class attribute?

javascript - Polymer 0.8 抛出错误

dart - 用web_components代替shadow_dom进行angular-dart