0

聚合物 3 和铁金属。如何从<iron-meta></iron-meta>实例访问元数据?我可以在我的 mixin 中执行 document.createElement,但它更干净,只需<iron-meta></iron-meta>处理一个元素即可。

混音:

let rawApiConstantsMixin = (base) => {
  class foo extends base {
    constructor() {
      super();
    }

    ready() {
      super.ready(); 
      this.FORM_HOST = meta.byKey('FORM_HOST');
    }
  }
  return foo;
};

export const ApiConstantsMixin = dedupingMixin(rawApiConstantsMixin);

class MyView2 extends ApiConstantsMixin(PolymerElement) {
  static get template() {
    return html`
      <style include="shared-styles">
        :host {
          display: block;

          padding: 10px;
        }
      </style>

      <iron-meta></iron-meta>
      <div class="card">
        <div class="circle">2</div>
        <h1>View Two</h1>
        <p>Ea duis bonorum nec, falli paulo aliquid ei eum.</p>
        <p>Id nam odio natum malorum, tibique copiosae expetenda mel ea.Detracto suavitate repudiandae no eum. Id adhuc minim soluta nam.Id nam odio natum malorum, tibique copiosae expetenda mel ea.</p>
      </div>
    `;
  }
}

window.customElements.define('my-view2', MyView2);
4

2 回答 2

2

实际上,我最终没有使用iron-meta. 由于 Polymer 3 使用 ES6 模块,我只是用 api 常量制作了自己的模块,并将其注入到需要它的组件中。

于 2018-08-27T13:41:45.857 回答
1

您是否尝试过访问

window["meta"]

并检查了里面有什么?也许你可以通过

window["meta"]["FORM_HOST"]
于 2018-08-27T13:38:57.773 回答