Javascript 如何将属性传递给导入的隐藏自定义聚合元素
在创建自定义聚合物元素之前:Javascript 如何将属性传递给导入的隐藏自定义聚合元素,javascript,angularjs,polymer,Javascript,Angularjs,Polymer,在创建自定义聚合物元素之前: <polymer-element name="my-custom-element" attributes="key" hidden> <script> Polymer({}); </script> </polymer-element> 聚合物({}); 当我在其他自定义聚合元素上导入时,我希望将属性传递给导入的隐藏自定义聚合元素,如下所示: <link rel="import" href="
<polymer-element name="my-custom-element" attributes="key" hidden>
<script>
Polymer({});
</script>
</polymer-element>
聚合物({});
当我在其他自定义聚合元素上导入时,我希望将属性传递给导入的隐藏自定义聚合元素,如下所示:
<link rel="import" href="../my-custom-element/my-custom-element.html" key="15">
我怎么办?有可能做到这一点吗?如果不是,好方法是什么?要传递自定义属性,需要自定义元素。标记“link”不是自定义元素。创建自己的自定义元素并将其实现到web应用程序中 如果还没有,请按照整个教程进行操作:) 编辑: 自定义元素的导入与使用它不同。您可以做的是导入自定义元素,然后编写具有特定属性的标记
<my-custom-element key="15"></my-custom-element>
与使用核心ajax非常相似:
<core-ajax
auto
url="http://gdata.youtube.com/feeds/api/videos/"
params='{"alt":"json", "q":"chrome"}'
handleAs="json"
on-core-response="{{handleResponse}}"></core-ajax>
看起来你想这样做:
<link
rel="import"
href="../core-ajax/my-custom-element.html"
auto
url="http://gdata.youtube.com/feeds/api/videos/"
params='{"alt":"json", "q":"chrome"}'
handleAs="json"
on-core-response="{{handleResponse}}"></link>
对不起,这不是聚合物的工作原理 正如wirlez指出的,您需要导入元素的定义,创建一个实例,并将键值设置为属性 例如: index.html
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Polymer</title>
<script src="http://www.polymer-project.org/components/webcomponentsjs/webcomponents.js"></script>
<!-- import element definition from jsbin -->
<link rel="import" href="http://jsbin.com/mojadu.html">
</head>
<body>
<x-foo key="42"></x-foo>
</body>
</html>
假设这是您的聚合物文件:
<polymer-element name="my-custom-element" attributes="key" hidden>
<script>
Polymer({});
</script>
</polymer-element>
将该元素放入DOM中,如:
var dom = document.querySelector('otherElement'); //depending on scope
dom.appendChild(custom);
custom.setAttribute('atribute', value);
or
this.$.elementID.appendChild(custom);
custom.setAttribute('atribute', value);
我希望这就是你想要的。干杯谢谢,我已经学习了教程。你的回答没有回应我的需要。正如你拒绝的回答所说,聚合物不是这样工作的。必须先使用元素,然后才能为其设置属性。仅仅导入元素和使用它是不同的。
<polymer-element name="my-custom-element" attributes="key" hidden>
<script>
Polymer({});
</script>
</polymer-element>
<link rel="import" href="../my-custom-element/my-custom-element.html" key="15">
<polymer-element name="my-custom-element" constructor='MyCustomElement' attributes="key" hidden>
<script>
Polymer({});
</script>
</polymer-element>
var custom = new MyCustomElement();
var dom = document.querySelector('otherElement'); //depending on scope
dom.appendChild(custom);
custom.setAttribute('atribute', value);
or
this.$.elementID.appendChild(custom);
custom.setAttribute('atribute', value);