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);