将 1 个 PolymerElement 动态添加到 childNodes 中的另一个节目但不可查询?
Dynamically adding 1 PolymerElement to another shows in childNodes but not queryable?
我创建了 2 个 类 extend PolymerElement,我们可以称它们为:ElementA 和 ElementB。
所以,我想动态地将 ElementB 添加到 ElementA,所以我想将其添加到 ElementA 的 onReady 调用中,如下所示:
class ElemenetA extends PolymerElement{
ElementB get _myElement => $["bid"];
onReady(){
ElementB item = new ElementB(); //item has an id of "bid"
Polymer.dom(this).childNodes.add(item);
}
}
因此,当我每次访问组件时,它都会向子节点添加一个新的 ElementB。没关系,我稍后会解决这个问题。
我遇到的问题是 ElementB 根本不呈现,如果我尝试从它调用方法,例如 open,如下所示:_myElement.open();
它会说 null does not have method open
.
将 PolymerElement 注入另一个 PolymerElement 做错了什么?
我的总体目标是从一堆其他组件中提取一个公共元素,然后使用一种行为将这个重复出现的项目注入 dom。
您无法访问使用 $[...]
动态添加的元素,这仅适用于静态添加到元素 HTML 的元素。即使它们在 <template is="dom-if">
或 <template is="dom-repeat">
$[...]
中也无法使用。
改用$$('#bid')
我创建了 2 个 类 extend PolymerElement,我们可以称它们为:ElementA 和 ElementB。
所以,我想动态地将 ElementB 添加到 ElementA,所以我想将其添加到 ElementA 的 onReady 调用中,如下所示:
class ElemenetA extends PolymerElement{
ElementB get _myElement => $["bid"];
onReady(){
ElementB item = new ElementB(); //item has an id of "bid"
Polymer.dom(this).childNodes.add(item);
}
}
因此,当我每次访问组件时,它都会向子节点添加一个新的 ElementB。没关系,我稍后会解决这个问题。
我遇到的问题是 ElementB 根本不呈现,如果我尝试从它调用方法,例如 open,如下所示:_myElement.open();
它会说 null does not have method open
.
将 PolymerElement 注入另一个 PolymerElement 做错了什么?
我的总体目标是从一堆其他组件中提取一个公共元素,然后使用一种行为将这个重复出现的项目注入 dom。
您无法访问使用 $[...]
动态添加的元素,这仅适用于静态添加到元素 HTML 的元素。即使它们在 <template is="dom-if">
或 <template is="dom-repeat">
$[...]
中也无法使用。
改用$$('#bid')