是否因为观察到的属性被更改而更新DOM后会触发事件?
具体来说,我需要更改容器的scrollTop属性以显示添加的新内容。我现在必须使用超时等待DOM更新,然后再将scrollTop设置为新的scrollHeight。
答案 0 :(得分:3)
感谢您的提问。根据我的理解,更改会异步传播模型和DOM。目前尚不清楚有一个“确定,一直都是完成更新”事件(我可能是错的)。
然而,我使用Mutation Observers来了解我的DOM中的某些内容何时发生变化。如果您能够在DOM中观察特定位置以进行更改(或更改),请尝试Mutation Observers:https://github.com/sethladd/dart-polymer-dart-examples/tree/master/web/mutation_observers
以下是一个例子:
MutationObserver observer = new MutationObserver(_onMutation);
observer.observe(getShadowRoot('my-element').query('#timestamps'), childList: true, subtree: true);
// Bindings, like repeat, happen asynchronously. To be notified
// when the shadow root's tree is modified, use a MutationObserver.
_onMutation(List<MutationRecord> mutations, MutationObserver observer) {
print('${mutations.length} mutations occurred, the first to ${mutations[0].target}');
}