以编程方式创建HTMLElement时,可以在构造函数之前设置属性吗?

时间:2019-12-20 20:47:54

标签: javascript web-component

我有这样的东西...

class Thing extends HTMLElement{
  constructor(){
    super();
    this.selected = this.getAttribute('selected');
    ...
  }
}

在创建诸如<my-thing selected="thing"></my-thing>之类的元素时,此方法工作正常。现在,我想注入一些东西。我可以这样...

this.things.forEach((thing)=>{
  tabString += `<my-thing selected=${thing.selected}></my-thing>`;
});

,然后注入内部HTML,但这似乎很麻烦。我真正想做的是这样的事情……

this.things.forEach((thing)=>{
  this.element.appendChild(new Thing());
});

但是我该如何设置selected

我仍然需要能够将组件也添加为HTML中的普通标签,并且它应该以任何一种方式处理属性。

1 个答案:

答案 0 :(得分:0)

一种方法是在构造函数中传递Pycharm 2018.1.4

selected