javascript - 无法读取 Polymer 2.0 中 addeventlistener 的属性

标签 javascript dom polymer polymer-2.x

当组件在 dom 中准备就绪时,webcomponent-loader.js 无法调度事件。 document.dispatchEvent(new CustomEvent('WebComponentsReady', {bubbles: true})); 我正在尝试创建 wysiwyg-e 组件,但当 dom 准备就绪时,它不会让组件加载。由于 addEventListner,它停止为整个 polymer 应用程序提供服务。

错误::未捕获类型错误:无法读取 null 的属性“addEventListener”

<dom-module id="custom-keybar">
     <template>
     <wysiwyg-e style="width: 100vw; height: 100vh;" id="wysiwygE">
        <wysiwyg-tool-bold></wysiwyg-tool-bold>
        <wysiwyg-tool-italic></wysiwyg-tool-italic>
        <wysiwyg-tool-underline></wysiwyg-tool-underline>
        <wysiwyg-tool-strike></wysiwyg-tool-strike>
        <wysiwyg-tool-color></wysiwyg-tool-color>
        <wysiwyg-tool-clear></wysiwyg-tool-clear>
        <wysiwyg-tool-code></wysiwyg-tool-code>
        <wysiwyg-tool-link></wysiwyg-tool-link>
        <wysiwyg-tool-image></wysiwyg-tool-image>
        <wysiwyg-tool-audio></wysiwyg-tool-audio>
        <wysiwyg-tool-video></wysiwyg-tool-video>
        <wysiwyg-tool-ordered></wysiwyg-tool-ordered>
        <wysiwyg-tool-unordered></wysiwyg-tool-unordered>
        <wysiwyg-tool-indent></wysiwyg-tool-indent>
        <wysiwyg-tool-outdent></wysiwyg-tool-outdent>
        <wysiwyg-tool-justify right center full></wysiwyg-tool-justify>
        <wysiwyg-tool-heading h1 h2 h3 h4 h5 h6></wysiwyg-tool-heading>
        <wysiwyg-tool-blockquote></wysiwyg-tool-blockquote>
    </wysiwyg-e>
    <iron-ajax url="../README.md" handle-as="text" id="ajax"></iron-ajax>
     </template>

     <script>
     window.addEventListener(
             'WebComponentsReady',
               function () {
                var ironAjax = document.querySelector('iron-ajax'), wysiwygE 
       = document.querySelector('wysiwyg-e');

                ironAjax.addEventListener(
                    'response',
                    function () {
                        var value = marked(this.lastResponse);
                        wysiwygE.value = value.replace(new 
         RegExp('https://miztroh.github.io/bower_components/wysiwyg-e/', 
                 'g'), '../');
                    }
                );

                ironAjax.generateRequest();
            // };
        // );
         </script>
       </dom-module>

最佳答案

你能尝试更多的Polymer,并重写你的<iron-ajax>吗?和<script>标签?例如

<iron-ajax url="../README.md" handle-as="text"
    auto on-response="handleResponse"></iron-ajax>

<script>
    class KeyBar extends Polymer.Element {
        handleResponse(event, request) {
            var value = marked(event.detail.response);
            // ...
        }
    }
    customElements.define('custom-keybar', KeyBar);
</script>

关于javascript - 无法读取 Polymer 2.0 中 addeventlistener 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45105614/

相关文章:

javascript - Canvas 中图像的 CORS 设置

javascript - 如何使用 JavaScript 按类删除 div

javascript - 按下按钮后显示带有 Polymer 的隐藏文本框

java - 解析 XML 并在不绑定(bind)命名空间的情况下获取 DOM 树 - Java

java - 使用java中的Document删除xml中的节点

javascript - polymer 3.0 数据绑定(bind)

javascript - 混合 Polymer 1.0 和 Angular 1.x

javascript - 检测表单是否可见

javascript - Array.prototype.forEach native 实现问题

javascript - [交响乐+ Twig ]