gpt4 book ai didi

javascript - 如何动态创建 polymer 元素

转载 作者:行者123 更新时间:2023-11-30 00:31:17 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 创建一个 paper-toast 元素

var toast = document.createElement('paper-toast');

这成功创建了元素,然后我在设置一些属性后将它添加到正文中。

document.body.appendChild(toast);

这也有效,该元素显示在 DevTools 中。但是,当我尝试打电话时

toast.show();

即使延迟(使用 setTimeout(1))它也会出错,undefined is not a function,因为新创建的元素不具有根据 documentation 应有的函数属性.

现在如何使用元素的显示方法?它不必动态创建,我只需要能够完全更改内容,这似乎是一个简单的解决方案。

最佳答案

请务必使用 html 导入来导入元素定义。

<link rel="import" href="components/paper-toast/paper-toast.html">

当您有很多自定义元素时,很难判断哪些缺少导入。您可以使用此书签来检测丢失的导入

https://gist.github.com/ebidel/cea24a0c4fdcda8f8af2

javascript:(function()%7Bfunction%20isUnregisteredCustomElement(el)%7Bif(el.constructor==HTMLElement)%7Bconsole.error('Found%20unregistered%20custom%20element:',el);return%20true;%7Dreturn%20false;%7Dfunction%20isCustomEl(el)%7Breturn%20el.localName.indexOf('-')!=-1%7C%7Cel.getAttribute('is');%7Dvar%20allCustomElements=document.querySelectorAll('html%20/deep/%20*');allCustomElements=Array.prototype.slice.call(allCustomElements).filter(function(el)%7Breturn%20isCustomEl(el);%7D);var%20foundSome=false;for(var%20i=0,el;el=allCustomElements[i];++i)%7Bif(isUnregisteredCustomElement(el))%7BfoundSome=true;%7D%7Dif(foundSome)%7Balert('Oops:%20found%20one%20or%20more%20unregistered%20custom%20elements%20in%20use!%20Check%20the%20console.');%7Delse%7Balert('Good:%20All%20custom%20elements%20are%20registered%20:)');%7D%7D)();

关于javascript - 如何动态创建 polymer 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29380800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com