Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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_Html_Polymer_Polymer 1.0 - Fatal编程技术网

Javascript 烧成聚合物功能

Javascript 烧成聚合物功能,javascript,html,polymer,polymer-1.0,Javascript,Html,Polymer,Polymer 1.0,我试图在单击按钮时启动另一个HTML中的函数 我的第一个带有中按钮的HTML如下所示: <template> <paper-icon-button on-tap="_deleteConfigUsage"></paper-icon-button> </template> <script> Polymer({ is: "HTML1", _deleteConfigUsage: function(e){ this.fire('refres

我试图在单击按钮时启动另一个HTML中的函数

我的第一个带有中按钮的HTML如下所示:

<template>
<paper-icon-button on-tap="_deleteConfigUsage"></paper-icon-button>
</template>

<script>
Polymer({
is: "HTML1",
 _deleteConfigUsage: function(e){
 this.fire('refreshUsagesRequest');
 }
})
</script>
<script>
Polymer({
is: "HTML2",
listeners:{
'refreshUsagesRequest': '_generateUsagesRequest'
},
_generateUsagesRequest: function(e){
document.getElementById("getConfigurationUsagesRequest").generateRequest();
}
})
</script>

聚合物({
是:“HTML1”,
_deleteConfigUsage:函数(e){
此.fire('RefreshUsageRequest');
}
})
我的第二个HTML如下所示:

<template>
<paper-icon-button on-tap="_deleteConfigUsage"></paper-icon-button>
</template>

<script>
Polymer({
is: "HTML1",
 _deleteConfigUsage: function(e){
 this.fire('refreshUsagesRequest');
 }
})
</script>
<script>
Polymer({
is: "HTML2",
listeners:{
'refreshUsagesRequest': '_generateUsagesRequest'
},
_generateUsagesRequest: function(e){
document.getElementById("getConfigurationUsagesRequest").generateRequest();
}
})
</script>

聚合物({
是:“HTML2”,
听众:{
“RefreshUsageRequest”:“\u GenerateUsageRequest”
},
_generateUsagesRequest:函数(e){
document.getElementById(“getConfigurationUsageRequest”).generateRequest();
}
})
此传输涉及3个html文件。第一个HTML、第二个HTML和同时调用它们的视图HTML

在函数中,当单击图标时,第二个HTML中的函数似乎没有运行。我在听众中做的每件事都正确吗?第一个函数应该是事件吗


感谢所有帮助

自定义元素应至少包含两个或多个单词。正如尼古拉斯在上面解释的那样,必须是类似连字符的
x-htm1
x-html2
。那样的话。由于聚合物1.x或2.x,这种燃烧功能有所不同。在您的情况下,您使用1.x版本。所以,主要目的是激发其他元素的功能。这也是另一个问题,如果
x-html2
x-html1
的子元素,那么:您应该给出一个id名称,并且可以使用

this.$.html2._generateUsagesRequest(); //html2 is id name of x-html2.html 
但是,如果两个元素都是主文档的子元素(与您的示例类似),则可以从一个子元素调用另一个子元素的函数:

在x-main.html

<x-html1 id="html1" on-refresh-usages-request='m_generateUsagesRequest'></x-html1>
<x-html2 id="html2"></x-html2>

Polymer({
is: "x-main",
 m_generateUsagesRequest(){
    this.$.html2._generateUsagesRequest();
 }

聚合物({
是:“x-main”,
m_generateUsagesRequest(){
此.$.html2._generateUsagesRequest();
}
在x-html1.html

<template>
<paper-icon-button on-tap="_deleteConfigUsage"></paper-icon-button>
</template
<script>
    Polymer({
    is: "x-html1",

    _deleteConfigUsage(e){  // let say u need to fires x-html2.html's function
       this.fire('refresh-usages-request');

    }
    })
    </script>


Custome元素至少应该是两个或两个以上的单词。并且必须像Nicholas上面解释的那样是连字号
x-htm1
x-html2
。在这种情况下,由于polymer 1.x或2.x,此激发函数有差异。在您的情况下,您使用的是1.x版本。因此,主要目的是激发另一个元素函数。这也是另一个需要解决的问题如果
x-html2
x-html1
的子元素,那么:您应该给出一个id名称,并且可以使用

this.$.html2._generateUsagesRequest(); //html2 is id name of x-html2.html 
但是,如果两个元素都是主文档的子元素(与您的示例类似),则可以从一个子元素调用另一个子元素的函数:

在x-main.html

<x-html1 id="html1" on-refresh-usages-request='m_generateUsagesRequest'></x-html1>
<x-html2 id="html2"></x-html2>

Polymer({
is: "x-main",
 m_generateUsagesRequest(){
    this.$.html2._generateUsagesRequest();
 }

聚合物({
是:“x-main”,
m_generateUsagesRequest(){
此.$.html2._generateUsagesRequest();
}
在x-html1.html

<template>
<paper-icon-button on-tap="_deleteConfigUsage"></paper-icon-button>
</template
<script>
    Polymer({
    is: "x-html1",

    _deleteConfigUsage(e){  // let say u need to fires x-html2.html's function
       this.fire('refresh-usages-request');

    }
    })
    </script>


首先,您的元素名是。您不能将
html1
html2
作为元素名。在执行任何其他操作之前,打开控制台并检查错误。这是一个示例,这些不是html名称-它们是实际文件名的填充符。好的,您的元素是同级的吗?或者
html1
是p不是
html2
?首先,元素名是。元素名不能是
html1
html2
。在执行其他操作之前,请打开控制台并检查错误。这是一个示例,这些不是html名称-它们是实际文件名的填充符。好的,元素是同级的吗?或者
html1
html2
的父级吗?或者,如果主文档不是聚合元素,则可以使用简单的
document.querySelector('#html1').addEventListener('refresh-usages-request',()=>{document.querySelector('#html2')。\u deleteConfiguuse})
或者,如果主文档不是聚合元素,则可以使用简单的
document.querySelector('#html1').addEventListener('refresh-usages-request',()=>{document.querySelector('#html2')。_deleteConfiguusage}