从 Mixin 访问 iron-meta 实例
Access iron-meta instance from a Mixin
聚合物 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);
您是否尝试访问
window["meta"]
并检查了里面有什么?也许你可以通过
访问
window["meta"]["FORM_HOST"]
实际上,我最终没有使用 iron-meta
。由于 Polymer 3 使用 ES6 模块,我只是用 api 常量制作了自己的模块,并将其注入到需要它的组件中。
聚合物 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);
您是否尝试访问
window["meta"]
并检查了里面有什么?也许你可以通过
访问window["meta"]["FORM_HOST"]
实际上,我最终没有使用 iron-meta
。由于 Polymer 3 使用 ES6 模块,我只是用 api 常量制作了自己的模块,并将其注入到需要它的组件中。