我的自定义元素在Polymer shop应用程序中不起作用,但在Polymer入门套件中工作?

时间:2016-07-06 13:25:49

标签: polymer polymer-1.0 web-component polymer-starter-kit custom-element

问题:

我已经创建了一个自定义的“属性”网格系统,可以在任何元素上普遍使用。到目前为止,在每个项目中,使用它都没有问题......但是当我尝试在Polymer Shop App Demo中使用它时,它不起作用。这是我导入的自定义属性系统:https://github.com/oneezy/steel-properties

在Chrome开发者工具网络标签中,它表示它正常加载,但是当我检查一个元素时它没有显示在css中并且没有效果!这让我摸不着头脑,因为它在聚合物入门套件和其他项目中工作得非常好......

我收录了一段显示我问题的简短视频: https://www.youtube.com/watch?v=tpyYxXTMdkU

我有什么遗漏或做错了吗?


更新

通过将商店应用的shadow文件中的shady更改为index.html,一切似乎都按预期工作:

    Polymer = {lazyRegister: true, dom: 'shadow'};

            becomes...

    Polymer = {lazyRegister: true, dom: 'shady'};

但这有什么后果呢?

Steel-Properties旨在用作初始布局的“通用”方式,以便您可以在任何元素上快速使用它。当我将钢属性包含到文件中时,它会进入并调用其他具有特定样式属性的文件,然后您可以将这些属性直接写入标记。


示例:

HTML标记: <body mobile-bg="blue" tablet-bg="green" desktop-bg="yellow"></body>

输出: image

守则: image

如您所见,steel-properties不是典型的<custom-element>。它实际上只是导入了[attribute="property"]的样式表。

所以现在我的问题是:

  • 我应该这样做,还是我错了?
  • 编写“钢铁属性”的正确方法是什么,以便它可以普遍适用于shadowshady DOM?
  • 在商店应用中将shadow转换为shady DOM的后果是什么?
  • 在商店应用中使用shadow DOM而不是shady DOM而不是Polymer Starter Kit的主要原因是什么? (性能?)

0 个答案:

没有答案