2
对于下面给出的代码,document.querySelector('createButton')
和Polymer.dom(this.$).querySelector('createButton')
应该返回相同的元素吗?
如果是这样,哪一个是最佳实践?是不是在第一种情况下,我们搜索整个dom树(我的意思是包括主机/根)?第二个我们正在搜索这个元素的dom树?
这两个都应该在任何点工作?因为我相信我遇到过这种情况,第二种情况只是在ready
(我的意思是当web组件就绪事件被触发时)内工作。
<dom-module id="bortini-tv-create">
<template>
<form>
<paper-input label="Name" value="{{tv.name}}"></paper-input>
<paper-input label="Logo" value="{{tv.logo}}"></paper-input>
<paper-input label="Address" value="{{tv.address}}"></paper-input>
<paper-input label="Web site" value="{{tv.webSite}}"></paper-input>
<paper-input label="Registration number" value="{{tv.regNumber}}"></paper-input>
<br/>
<br/>
<paper-button id="createButton" raised on-tap="handleTvCreate">
<iron-icon icon="redeem"></iron-icon>
Add
</paper-button>
<paper-button id="cancelButton" raised on-tap="handleCancelTvCreate">
<iron-icon icon="cancel"></iron-icon>
Cancel
</paper-button>
</form>
<iron-ajax
id="ironAjax"
url="/api/tv"
content-type="application/json"
handle-as="json"
method="POST">
</iron-ajax>
<paper-toast id="toast"
duration="3000"
text="TV {{tv.name}} has been created">
</paper-toast>
</template>
</dom-module>
感谢您的回复。当我做了_italic_这个。$。createButton _italic_或_italic_ document.querySelector('#createButton')_italic从“ready”它找到了按钮,但是从iron-ajax事件处理方法它没有找到元件。我试图调试,并且很可能在内部使用了iron-ajax事件处理方法,这个_italic_这个_italic_指向了iron-ajax dom树。有什么意见? –
@Jahid,你能为这些情况提供一些示例代码吗? –
我今天为此创建了一个单独的问题。链接在这里。 http://stackoverflow.com/questions/30865384/cant-find-element-on-iron-ajax-event-methods –