Polymer 如何允许聚合物组件包含动态元素?

Polymer 如何允许聚合物组件包含动态元素?,polymer,Polymer,在polymer中,假设我有一个容器元素,和两个子元素,。在元素中,我希望能够指定它包含或(它永远不会同时包含这两者) 例如,它可能看起来像: 1 或者 2 由于有很多代码,我不想复制它,但希望能够像这样使用: ,其行为将与前面提到的第一项相同。我怎样才能实现这一功能?当您知道它将成为哪一个时,只需实例化它 //in your x-container component observers: ['_typeChanged(type)'], _typeChanged: function(type)

在polymer中,假设我有一个容器元素
,和两个子元素
。在元素中,我希望能够指定它包含
(它永远不会同时包含这两者)

例如,它可能看起来像:

1

或者

2

由于
有很多代码,我不想复制它,但希望能够像这样使用


,其行为将与前面提到的第一项相同。我怎样才能实现这一功能?

当您知道它将成为哪一个时,只需实例化它

//in your x-container component
observers: ['_typeChanged(type)'],
_typeChanged: function(type) {
    var child = this.create(type);
    Polymer.dom(this.root).appendChild(child);
}
或者你使用插槽,然后你可以这样做smth

父组件

<x-container>
   <template is="dom-if" if="[[_isA()]]"><a-child></a-child></template>
   <template is="dom-if" if="[[_isB()]]"><b-child></b-child></template>
</x-container>

在x-container的模板中,只需简单地放置一个槽,子对象将在槽中呈现

<slot></slot>

我个人更喜欢第一个选项