聚合物元素中只有一个对<content> </content>的引用?

时间:2016-02-17 10:53:51

标签: dart-polymer

构造的boildown就是这样的。有聚合物元素:

<dom-module id="demo-element">
  <template>
     <span><content></content></span>
     <span><content></content></span>
   </template>
</dom-module>

这只会出现一次内容。例如 <demo-element>Hello</demo-element>只给出“Hello”而不是“HelloHello”。使用具有绑定的属性,给出预期的。似乎缺少一些细节,任何人都有类似的部分?

Environment:
 Dart version 1.14.0
 WebStorm 11.0.3

From pubspec.yaml:
environment:
  sdk: '>=1.9.0 <2.0.0'

dependencies:
  polymer: ^1.0.0-rc.15
  web_components: ^0.12.0
  polymer_elements: 1.0.0-rc.8
  browser: ^0.10.0
  reflectable: ^0.5.0
  polymer_interop: ^1.0.0-rc.5

1 个答案:

答案 0 :(得分:1)

这是设计的。 <content>不生成元素,只是投影它们。

没有选择器的多个<content>没有做任何事情。第一个&#34;抓住&#34;所有的孩子,并将他们投射到放置的地方。

您可以拥有多个<content>代码,但他们应该有不同的选择器,例如

<header-elem>
  <content select=".header"></content>
</header-elem>
<drawer-elem>
  <content select=".drawer"></content>
</drawer-elem>
<body-elem>
  <content></content>
</body-elem>

一样使用
<my-component>
  <div>body</div>
  <div class"header">header</div>
  <div class"drawer">header</div>
</my-component>

然后第一个<div>被投射到最后一个<content>元素,因为它没有匹配任何特定的选择器,其他div被投射到<content>标签并匹配选择器。