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 –