利用customElements在javascript中创建页面构建框架

利用customElements在javascript中创建页面构建框架,javascript,custom-element,html-templates,Javascript,Custom Element,Html Templates,我和我的朋友正在尝试创建一个javascript框架,允许用户创建元素并自定义它们。以及如何管理它们 我们希望能够以某种方式创建这样的自定义元素 类头扩展了HtmleElement{ 构造函数(){ 超级(); } connectedCallback(){ this.title=this.getAttribute(“title”) console.log(this.getAttribute(“title”)) if(此.hasAttribute(“抽屉按钮”)){ } this.innerHTM

我和我的朋友正在尝试创建一个javascript框架,允许用户创建元素并自定义它们。以及如何管理它们

我们希望能够以某种方式创建这样的自定义元素

类头扩展了HtmleElement{
构造函数(){
超级();
}
connectedCallback(){
this.title=this.getAttribute(“title”)
console.log(this.getAttribute(“title”))
if(此.hasAttribute(“抽屉按钮”)){
}
this.innerHTML=
`
${this.title}
`
}
}
自定义元素。定义('e-header',header);
您可以像这样在HTML中使用它,这很酷,但是我们希望我们可以这样做


var el=新的头(//可能放入选项);
文件。附加(el)
我们不断收到此错误
未捕获类型错误:非法构造函数


我们将如何着手做这样的事情?我们是否在正确的轨道上

您想做这样的事情吗

我已经将选项
title
传递给了类,并在类中设置了该选项

类头扩展了HtmleElement{
构造函数(选项){
超级();
this.title=options.title;
}
connectedCallback(){
this.title=this.getAttribute(“title”)
console.log(this.getAttribute(“title”))
if(此.hasAttribute(“抽屉按钮”)){
}
这个是.innerHTML=
`
${this.title}
`
}
}
自定义元素。定义('e-header',header);
var el=新标题({
“标题”:“标题”
});

document.body.append(el)
错误来自
document.append(el)
应该是
document.body.append(el)
这正是我们要找的,非常感谢。更通用的是,执行
Object.assign(这个,选项)
而不是硬编码
this.title=options.title
并且您可以设置默认值:
构造函数({title='No title'})