首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Monaco编辑器集成到LitElement中

将Monaco编辑器集成到LitElement中
EN

Stack Overflow用户
提问于 2020-07-20 04:35:24
回答 1查看 246关注 0票数 0

我尝试在开放wc的克里特岛的代码游乐场,并想使用摩纳哥编辑器。问题是,我不能简单地整合它。这就是我尝试的方法,它起作用了,但性能很糟糕。

代码语言:javascript
复制
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>

    `;
  }
EN

回答 1

Stack Overflow用户

发布于 2020-08-04 03:55:37

您需要使用Light Dom才能使用它。

您必须将其添加到所有父级

代码语言:javascript
复制
createRenderRoot() {
    return this;
}

您必须考虑到样式将停止工作,并且必须将其替换为render()

中的<style>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62985379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档