HTML原生Js开发组件customElements define()用法及代码示例
使用原生Js也可以开发自定义组件了,就像使用Vue或React组件一样,可以很方便实现组件的创建和复用,例如我自定义了一个组件:然后就可以在页面上渲染出来。例如我们在一个js文件里面定义一个自己组件,组件名称必须包含连字符。
·
使用原生Js也可以开发自定义组件了,就像使用Vue或React组件一样,可以很方便实现组件的创建和复用,例如我自定义了一个组件:
然后就可以在页面上渲染出来。
例如我们在一个js文件里面定义一个自己组件,组件名称必须包含连字符
class Btn extends HTMLElement {
constructor() {
super()
const shaDom = this.attachShadow({ mode: "open" })
this.p = this.h("p")
this.p.innerText = "原生组件"
this.p.setAttribute("style", "width:200px; height:200px;border:1px solid red")
shaDom.appendChild(this.p)
}
h(el) {
return document.createElement(el)
}
}
window.customElements.define("man-btn", Btn)
然后在页面中引入这个js文件,并复用:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>原生WebComponent</title>
<script src="./js/component.js"></script>
</head>
<body>
<man-btn></man-btn>
</body>
</html>
customElements define()方法使用
customElements define()用于定义新的自定义元素。可以创建两种类型的定制元素:
- 自治的自定义元素:这些元素不继承自内置 HTML元素。
- 自定义的内置元素:这些元素继承自内置 HTML元素。
用法:
customElements.define( name, constructor, options );
参数:
- name:它指定新的自定义元素的名称。自定义元素的名称必须包含连字符。
- constructor:它为新的自定义元素指定构造函数。
- options:它指定控制如何定义元素的对象。它是一个可选参数。
返回值:此方法返回void。
例:在此示例中,使用此方法定义了名为<gfg-custom-element>的自定义元素,并使用名为CustomEl的构造函数。
更多推荐
所有评论(0)