我在访问以下dom-if
模板中的元素以添加自定义事件侦听器时遇到问题:
<template is="dom-if" if=[[!uploaded]]>
<vaadin-upload id="upload" target="http://localhost:3000/uploadFile" form-data-name="doc" max-files="1">
<iron-icon slot="drop-label-icon" icon="description"></iron-icon>
<span slot="drop-label">....</span>
</vaadin-upload>
</template>
<template is="dom-if" if="[[uploaded]]">
<pdf-element src=[[....]]></pdf-element>
</template>
我尝试以这种方式添加事件侦听upload-response
器:upload-success
connectedCallback
connectedCallback() {
super.connectedCallback();
console.log(this.shadowRoot.querySelector('#upload'))
this.shadowRoot.querySelector('#uploadFile').addEventListener('upload-response', event=>this._uploadFile(event))
this.shadowRoot.querySelector('#uploadFile').addEventListener('upload-success', event=>this._uploadFileSuccessful(event))
}
该uploaded
属性是false
默认的。我在Polymer 2.0 docs中进行了搜索,但没有找到使其工作的方法。我总是得到null
。
我已经this.shadowRoot.querySelector
在dom-repeat
模板中使用过,没有问题。我如何querySelector
使用dom-if
?