在自定义web元素中加载外部JavaScript文件
我的目标是使用自定义web元素创建自定义表单组件。我需要为表单组件添加样式 所以我用的是软件包。我需要导入CSS和JavaScript文件。我无法使用外部JS文件。我正在使用WebPack打包文件 在代码中,我试图加载MaterializeJS文件,但它不起作用。我不知道如何在自定义web元素中加载Js文件。请有人帮帮我在自定义web元素中加载外部JavaScript文件,javascript,web-component,webpack-4,google-web-component,Javascript,Web Component,Webpack 4,Google Web Component,我的目标是使用自定义web元素创建自定义表单组件。我需要为表单组件添加样式 所以我用的是软件包。我需要导入CSS和JavaScript文件。我无法使用外部JS文件。我正在使用WebPack打包文件 在代码中,我试图加载MaterializeJS文件,但它不起作用。我不知道如何在自定义web元素中加载Js文件。请有人帮帮我 const template=document.createElement('template'); template.innerHTML=` 公司形式 `; 导出默认类My
const template=document.createElement('template');
template.innerHTML=`
公司形式
`;
导出默认类MyForm扩展HtmleElement{
构造函数(){
超级();
//阴影dom
const shadowDOM=this.attachShadow({mode:'open'});
//呈现模板
appendChild(template.content.cloneNode(true));
}
}
是的,你可以。我并没有测试你们的代码,但我认为问题在于webcomponents的封装
export default class SodisysForm extends HTMLElement {
constructor() {
super();
// shadow dom
const shadowDOM = this.attachShadow({ mode: 'open' });
// Render the template
shadowDOM.appendChild(template.content.cloneNode(true));
var elems = shadowDOM.querySelectorAll('select');
var instances = M.FormSelect.init(elems, []); //example of select init
}
}
您需要手动初始化正在使用的每个组件
附言
您还没有加载css和js吗?还是只有css才有问题?@AlexNikulin我对css没有问题。我唯一需要知道的是,我是否可以在web组件中加载外部JS文件。