@simon_he/base-webcomponent

webcomponent
500 2
Install
npm install @simon_he/base-webcomponent
Latest Version:0.0.17
Vue:3
License:MIT
Last Updated:Oct 24, 2026
Links: GitHub  ·  npm
Maintainer: simon_he

BaseWebComponent

提炼一个BaseWebComponent的class,提供了一些常用的方法基于class快速的生成新的webcomponent组件

安装

npm install @simon_he/base-webcomponent

使用

  • 通过html返回原生的dom节点渲染
export class UserCard extends BaseWebComponent {
  css() {
    return `:host {
      display: flex;
      align-items: center;
    }
   `
  }

  html(): string {
    const image = document.createElement('img')
    image.src = 'https://semantic-ui.com/images/avatar2/large/kristy.png'
    return image
  }
}
// 注册
export function registerComponent(name: string) {
  window.customElements.define(name, UserCard)
}
  • 通过template返回原生html的字符串渲染
export class UserCard extends BaseWebComponent {
  css() {
    return `:host {
      display: flex;
      align-items: center;
    }
   `
  }

  template(): string {
    return `
    <img src="https://semantic-ui.com/images/avatar2/large/kristy.png" class="image">
    `
  }
}

// 注册
export function registerComponent(name: string) {
  window.customElements.define(name, UserCard)
}

Todo

  • 支持slot
  • 支持props

License

MIT License © 2022 Simon He

Buy Me A Coffee

sponsors

Related Packages

@ldesign/site-component

LDesign 文档公共组件,基于hybrids的webcomponent组件,可用于vue,react等前端框架!

1,705
mine-sweeper-tag

Minesweeper for Web Components

17,928 1
wc-context

Context for HTML custom elements / web components

85,761 48
kexwid-b

Adjusted explorer widget

853 0

Version History

Version Released Vue License
0.0.17 ^3.2.41 MIT
0.0.16 ^3.2.41 MIT
0.0.15 ^3.2.41 MIT
0.0.14 ^3.2.41 MIT
0.0.13 ^3.2.41 MIT