我的目标是使用自定义 Web 元素创建自定义表单组件。我需要为表单组件添加样式。
所以我正在使用materializecss包。我需要导入 CSS 和 JavaScript 文件。我无法使用外部 JS 文件。我正在使用 WebPack 来捆绑文件。
在代码中,我试图加载 Materialize JS 文件,但它不起作用。我不知道如何在自定义 Web 元素中加载 Js 文件。请有人帮助我。
const template = document.createElement('template');
template.innerHTML = `
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<div class="container">
<div class="center-align">
<h3 class="blue-text text-darken-4">Company-Form</h3>
<h5 class="blue-text text-darken-2 title"></h5>
<div class="row">
<div class="col s12">
<div class="card-content">
<div class="row form-content">
</div>
</div>
<div class="card-action btn-action">
</div>
</div>
</div>
</div>
</div>
`;
export default class MyForm extends HTMLElement {
constructor() {
super();
// shadow dom
const shadowDOM = this.attachShadow({ mode: 'open' });
// Render the template
shadowDOM.appendChild(template.content.cloneNode(true));
}
}