我尝试在开放wc的克里特岛的代码游乐场,并想使用摩纳哥编辑器。问题是,我不能简单地整合它。这就是我尝试的方法,它起作用了,但性能很糟糕。
updated(changedProperties) {
let container = this.shadowRoot.getElementById('container');
s
function loadScript(filename, callback) {
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.onload = callback;
fileref.setAttribute("src", filename);
if (typeof fileref != "undefined") {
document.getElementsByTagName("head")[0].appendChild(fileref)
}
}
loadScript('../node_modules/monaco-editor/min/vs/loader.js', function () {
require.config({paths: {'vs': '../node_modules/monaco-editor/min/vs'}});
require(['vs/editor/editor.main'], function () {
var editor = monaco.editor.create(container, {
value: [
'function x() {',
'\tconsole.log("Hello world!");',
'}'
].join('\n'),
language: 'javascript'
});
});
});
}
render() {
return html`
<h2> Monaco Editor Sample</h2>
<div id="container" style="width:100%;height:100%;border:1px solid grey"></div>
`;
}发布于 2020-08-04 03:55:37
您需要使用Light Dom才能使用它。
您必须将其添加到所有父级
createRenderRoot() {
return this;
}您必须考虑到样式将停止工作,并且必须将其替换为
render()
中的<style>
https://stackoverflow.com/questions/62985379
复制相似问题