我对在聚合物中正确使用core-meta感到困惑。我试着看看Topeka的metadata.html,但它似乎为我进一步解决了这个问题,因为它广泛使用的x-meta标签似乎与聚合物设计师工具等有关(我没有使用聚合物设计师)
基本上,我只是想为我的聚合物应用程序创建各种配置文件。例如,我想在一个地方设置应用程序的API数据源URL(或至少是基本URL),并让各种元素根据需要引用它。这种方法会被认为是聚合物应用的最佳实践吗?换句话说,是否应该使用包含core-meta标记的单独metadata.html来实现应用程序的上述目标?如果是这样,我想尽可能看一个简短的例子。谢谢!
答案 0 :(得分:3)
core-meta
是一个通用元素,可用于跨DOM树共享信息。它使用monostate pattern,以便core-meta
的任何实例都可以访问共享信息。您可以使用core-meta
分享您想要的任何内容(或创建扩展名[例如x-meta
]以进行增强)。
包含实际数据的core-meta
个实例可以在导入中加载,也可以以您认为合适的任何方式构建。唯一的要求是在尝试访问它们之前创建它们。
示例:
如果我创建这样的实例:
<core-meta id="info" keyUrl="foo/bar"></core-meta>
请注意keyUrl="foo/bar"
是我定义的元数据。我可以定义更多属性或使用子节点来定义其他元数据。
现在,我可以通过myId
方法从任何核心元实例访问该元素(及其元数据),例如
meta.byId('info').getAttribute('keyUrl')
。
纯粹的命令式形式如下:
document.createElement('core-meta').byId('info').getAttribute('keyUrl');
或者,在Polymer元素中,您可以在模板中包含元数据:
<core-meta id="meta"></core-meta>
...
this.$.meta.byId('info').getAttribute('keyUrl');
根据您的使用情况,您可以通过多种方式为byId('info').getAttribute('keyUrl')
表达式添加访问权限。