Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态创建聚合物元素_Javascript_Polymer - Fatal编程技术网

Javascript 如何动态创建聚合物元素

Javascript 如何动态创建聚合物元素,javascript,polymer,Javascript,Polymer,我正在尝试使用javascript创建一个paper toast元素 var toast = document.createElement('paper-toast'); 这将成功创建元素,然后在设置一些属性后将其添加到主体中 document.body.appendChild(toast); 这也是可行的,元素显示在DevTools中。但是当我试着打电话的时候 toast.show(); 即使在延迟时(使用setTimeout(1)),由于新创建的元素不具有它应该具有的函数属性,因此未定

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

var toast = document.createElement('paper-toast');
这将成功创建元素,然后在设置一些属性后将其添加到主体中

document.body.appendChild(toast);
这也是可行的,元素显示在DevTools中。但是当我试着打电话的时候

toast.show();
即使在延迟时(使用setTimeout(1)),由于新创建的元素不具有它应该具有的函数属性,因此未定义的错误也不是函数


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

请确保使用html导入导入元素定义

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

是否导入元素的定义?您可以创建任意元素,但在升级之前,它不会有特殊的方法。如果您可以创建一个更全面的示例,那么将更容易提供帮助。否则,我只能猜测一个解决方案。哦,我没有。这就解决了问题。谢谢啊哈!很高兴我能帮忙。我发布了一个带有便利书签的答案,您可以使用它来检测丢失的导入。
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)();