在question之后,我想问一下检查影子DOM中组件初始渲染状态(而不是更新状态)的适当方法。是否有与document.readyState
或promise
类似的东西?
我也曾尝试这样做:
getItems() {
this.updateComplete
.then(() => {
this.nodesLists = this.shadowRoot.querySelectorAll(".name");
})
.then(...)
}
也失败了。
Tia
答案 0 :(得分:2)
import requests
import sys
prefixURL = 'http://www.omdbapi.com/?t='
suffixURL = '&apikey=xxx4s23'
text_file = open("url.txt", "w")
with open('print.txt', 'r') as f:
for i in f:
uri = prefixURL + i.rstrip(' \n\t') + suffixURL
print uri
text_file.write(url)
text_file.write('\n')
text_file.close()
text_file = open("responses.txt", "w")
with open('url.txt', 'r') as f2:
for i in f2:
url = i.strip(' \n\t')
batch = requests.get(i.rstrip(' \n\t'))
data = batch.text
print data
text_file.write(data)
text_file.write('\n')
text_file.close()
(或await this.updateComplete
)是等到元素没有待处理的渲染工作之前的正确方法,例如查询元素的呈现状态,因此只要在运行this.updateComplete.then(...)
之前将元素连接到文档,代码就应该可以正常工作。
示例:https://jsbin.com/jiquhez/edit?html,console,output
但是请注意,如果在元素连接之前等待getItems
,并且元素未设置会触发渲染的属性,则updateComplete
当前会在首先渲染。这可能是意外错误,已提交到lit-element/#594。
请注意,根据您的用例,您可能还想研究使用firstUpdated
生命周期方法。您可以在类上实现此方法,以在元素的第一个更新/渲染周期后执行一次性工作(例如用于选择不会根据渲染而改变的静态节点)。